If you are not familiar with usage of athena please follow the Beginners Workbook prior to reading on.
In release 17 eflowRec is turned on by default in a special tau region of interest mode - this means that only tracks and topoclusters associated to existing tauRec candidates are processed by eflowRec. You can of course reconfigure, via python, eflowRec to run in a full event mode using all tracks and topoclusters in each event.
A number of global flags can be used to control eflowRec. The default settings, in the latest release athena 17, allow the cell based subtraction to run with the Local Hadron Calibration used to calibrate all remaining clusters (including modified clusters with energy deposited from charged pions subtracted) and takes account of hadronic showes splitting into multiple clusters. We strongly recommend the typical user should NOT change any of these from their default values, unless specifically indicated in the instructions below. The list of global flags can be found at this location.
In general you can run eflowRec by setting up your job options in the instructions below, and then adding at the end an include of "RecExCommon/RecExCommon_topOptions.py" which configures and runs the full ATLAS reconstruction. Alternatively you can use the python job transform Reco_trf.py, if you know how to use it.
eflowRec should run out of the box in tau mode in the latest version of 17.0.X.Y, if you are running full reconstruction in the usual way. If you want to use eflowRec to process all tracks and clusters in the event then you should set:
from eflowRec.eflowRecFlags import jobproperties jobproperties.eflowRecFlags.runTauMode.set_Value_and_Lock(False)
In this release eflowRec is turned off by default. To enable it you need to set the following:
from RecExConfig.RecAlgsFlags import recAlgs recAlgs.doEFlow.set_Value_and_Lock(True)
You should also adjust the configuration of eflowRec as follows:
from eflowRec.eflowRecFlags import jobproperties jobproperties.eflowRecFlags.useSplitShowers.set_Value_and_Lock(True) jobproperties.eflowRecFlags.recoverIsolatedTracks.set_Value_and_Lock(True) jobproperties.eflowRecFlags.UseElectronHadronID.set_Value_and_Lock(False)
We recommend you check out and compile the following tags for usage in this release:
eflowEvent-00-02-50 eflowRec-00-02-36 eflowEventTPCnv-00-00-15
In this release eflowRec is turned off by default. To enable it you need to set the following:
from RecExConfig.RecAlgsFlags import recAlgs recAlgs.doEFlow.set_Value_and_Lock(True)
You should also adjust the configuration of eflowRec as follows:
from eflowRec.eflowRecFlags import jobproperties jobproperties.eflowRecFlags.useSplitShowers.set_Value_and_Lock(True) jobproperties.eflowRecFlags.recoverIsolatedTracks.set_Value_and_Lock(True) jobproperties.eflowRecFlags.UseElectronHadronID.set_Value_and_Lock(False)
For persistification of eflow jets requires the tag eflowRec-00-02-05. Alternatively works out of the box if one sets doEFlowJet=False and user creates their own custom jet finder algorithm (taking eflowObjects as input) in their python job options.
Should be used out of the box in 14.2.0 (i.e. no need to check out any eflow packages).
The job options to do persistification are as described in the section on 14.1.0 below.
The recommended tags to use with this release are:
eflowEvent-00-01-41 eflowRec-00-02-02 eflowEventTPCnv-00-00-06 eflowAthenaPool-00-00-02
These will be the default tags in release 14.2.0. Persistency of eflowObjects is enabled with these tags. In order to persistify eflowObjects into an AOD file the following job options should be used:
doEFlow=True doEFlowJet=True include("RecExCommon/RecExCommon_topOptions.py") import AthenaCommon.PropertiesManip as manip manip.appendItemsToList(StreamAOD,'ItemList','eflowObjectContainer#eflowObjects01') manip.appendItemsToList(StreamAOD,'ItemList','CaloClusterContainer#eflowClusters01')
Currently we recommend to check out and compile the tag eflowRec-00-01-66-CSCJetTag-02. Then to run the following jobOptions should be used:
eflowAlgType="CellLevel" eflowCalType="LocalHad" eflowUserOverLapCells=TRUE eflowEOverPType="EEtaFirstInt" doEFlow=True doEFlowJet=True include ("RecExCommon/RecExCommon_topOptions.py")
This will run eflowRec in addition to the standard reconstruction example job options. The eflowAlgType allows to choose the type of energy flow (cluster or cell based) used. The eflowCalType chooses calibration weights ("NoCalibration" or "LocalHad"). Currently for the cell based subtraction usage of local hadron weights via the "LocalHad" string is recommended. In future eflowRec should have the option of using customised H1 weights. The eflowUseOverLapCells flag indicates whether eflowRec should apply calibration weights (assuming eflowCalType is not "NoCalibration") to cells left over in clusters which have had cells removed for energy flow or to leave them uncalibrated. In the latter case clusters with no tracks matched to them would still be calibrated. The flag eflowEOverPType refers to the type of binning used to parameterise the expected energy deposits from charegd tracks. We do not recommend the user changes any of the recommended values currently.
An example of running on an ESD file with all reconstruction disabled except for eflowRec can be found here.
If one wishes to produce an AOD file with energy flow jets then one should acquire the RecExCommon_topOptions.py with the get_files command. Then the following lines:
if doAOD: #FIXME should not be there theApp.Dlls += ["CaloUtils"] include( "ParticleBuilderOptions/AOD_Builder_jobOptions.py")
should be changed to
if doAOD: #FIXME should not be there theApp.Dlls += ["CaloUtils"] include( "ParticleBuilderOptions/AOD_Builder_jobOptions.py") for key in ["CalTopoConeJets","Cal4TopoConeJets","EflowConeJets","Eflow4ConeJets"]: algname=key.replace("Jets","ParticleJet")+"Builder" theApp.TopAlg += ["ParticleJetBuilder/"+algname] thisAlg = Algorithm( algname ) thisAlg.JetCollection=key thisAlg.ParticleJetContainer = key.replace("Jet","ParticleJet") thisAlg.ParticleJetBuilderTool.dataType = EventKernel.ParticleDataType.Full
In this branch of Athena users need not check out any tag of eflowRec currently. To run the following jobOptions should be used:
eflowEOverPType="EEtaFirstInt" doEFlow=True doEFlowJet=True include ("RecExCommon/RecExCommon_topOptions.py")
The flags have the same meaning as in the release 12.0.6 instructions. By default eflowRec runs with the cell based energy flow and using the local hadron calibration for all cells in the calorimeter not removed by the energy flow algorithm.
If one wishes to produce an AOD file with energy flow jets then the instructions in the 12.0.6 section should be followed. The CalTopoConeJets and Cal4TopoConeJets should be removed from the list of keys though. By default in release 13 the AOD will already contain jets made from local hadron clusters and thus only the energy flow jets need be added.