--
ZinonasZinonos - 15-Feb-2010
Pisa How To
Athena
How to install Athena software in my test area outside CERN?
Since we are working on an AFS system outside CERN, we need to execute the following commands
1. access the AFS volume at CERN by doing $klog
username@CERNSPAMNOTNOSPAMPLEASE.CH and insert your AFS password. Notice that CERN.CH is all capital letters.
2. get a valid kerberos ticket as follows $ kinit -5 -4 <cern-user>@CERN.CH. To access AFS and get a valid kerberos ticket in one command, you can do $klog.krb
username@CERNSPAMNOTNOSPAMPLEASE.CH
3. in a freshly opened shell do: $ export SVNROOT=svn+ssh://<cern-user>@svn.cern.ch/reps/atlasoff
4. Ready to check out Athena packages, eg. $ cmt show versions Database/CoolRunQuery
How to find which are the available ATLAS releases?
From your shell: ls /afs/cern.ch/atlas/software/releases/
Athena and Jets
How to heal problems related to AtlasTrackingGeometry when I rerun jets on ESD/AOD files?
Athena exits with a bunch of erros as following
ToolSvc.TileVolumeBuilder INFO Retrieved tool CaloSurfaceBuilder = PublicToolHandle('CaloSurfaceBuilder')
ToolSvc.TileVolumeBuilder INFO intialize() successful
DetectorStore WARNING retrieve(const): No valid proxy for object AtlasTrackingGeometry of type Trk::TrackingGeometry(CLID 167645219)
ToolSvc.AtlasNavigator FATAL Could not retrieve TrackingGeometry 'AtlasTrackingGeometry' from DetectorStore.
ToolSvc.AtlasNavigator FATAL - probably the chosen layout is not supported / no cool tag exists.
AntiKt4H1TopoJets.sysExecute() FATAL Standard std::exception is caught
This is because the JVF that is attached to the jets as a moment requires tracking knowledge, and that's not always easy to configure.
If you are not particularly concerned about the JVF, you can simply turn it off by putting this in your jobOptions:
from JetRec.JetRecFlags import jetFlags
jetFlags.doJVF = False
How to add BAD_CELLS_* and BCH_CORR_* Jet Moments to my jets?
First of all, check-out and install the following packages
- Reconstruction/Jet/JetUtils > JetUtils-01-01-20
- Reconstruction/Jet/JetRecTools/ > JetRecTools-00-01-37
- Calorimeter/CaloEvent/ > CaloEvent-01-07-17
- Calorimeter/CaloRec/ > CaloRec-02-11-59
- Control/CxxUtils if needed
Then in your j-o you need to rerun jet makers
# load the definition of jet helper functions
from JetRec.JetGetters import *
# load the definition of python JetTools
from JetRec.JetRecConf import *
#define jet algo
JetFinder = 'AntiKt' # AntiKt,
JetInput = 'H1Topo' # H1Topo, H1Tower, H1TopoTower
JetConeDR = 0.6 #0.4, 0.6
JetSize = "6"
algo_jet = make_StandardJetGetter( JetFinder, JetConeDR, JetInput).jetAlgorithmHandle()
and then
from JetRec.JetMomentGetter import make_JetMomentGetter
from JetRecTools.JetRecToolsConf import JetBadChanCorrTool
badchanTool = JetBadChanCorrTool("JetBadChanCorrTool", UpdateEvery=False, ConeDr=JetConeDR, UseCalibScale=False)
# here ConeDr variable is just for jet level estimation
print badchanTool
from JetRecTools.JetRecToolsConf import JetBadCellCorrTool
tname = JetFinder+JetSize+JetInput
badcellTool = JetBadCellCorrTool("JetBadCellCorrTool_%s" % tname)
print badcellTool
make_JetMomentGetter(JetContainerName, [badchanTool, badcellTool] )
The ENG_BAD_CELLS, N_BAD_CELL, N_BAD_CELLS_CORR, and BAD_CELLS_CORR_E are only filled if the their values are non-zero.
I don't know
Before your jet getters say
from CaloRec.CaloRecFlags import jobproperties
jobproperties.CaloRecFlags.doCaloTopoCluster.set_Value_and_Lock(False)
because the default value is True.
Athena and Database
How to change localy the DB version?
The DB version can be changed by following the instructions decribed below. To download the release X.Y.Z of the database, at /home/username for instance, we do
kinit -5 -4 username@CERN.CH
source /afs/cern.ch/atlas/software/pacman/pacman-latest/setup.sh
pacman -get http://atlas.web.cern.ch/Atlas/GROUPS/DATABASE/pacman4/DBRelease:DBRelease-X.Y.Z
where X.Y.Z can be 8.2.1. In this way the complete Database directory is downloaded at /home/username/DBRelease. Then in .bashrc we must include
export DBRELEASE_OVERRIDE=X.Y.Z
export ATLAS_DB_AREA=/home/username
Pacman and db releases' tarballs can be found at
http://atlas.web.cern.ch/Atlas/GROUPS/DATABASE/pacman4/DBRelease/
How can I use a non-default DBRelease when running realtime Athena?
Quick solution 1:
In order to use another DBRelease simply add this line to your requirements file
set DBRELEASE_OVERRIDE x.y.z
and in a fresh session retry to setup Athena environment. To check if indeed the new release has been correctly set do
echo $DBRELEASE
Quick solution 2:
Tag your favourite release in the path /afs/cern.ch/atlas/software/releases/ and in your shell make for instance
export ATLAS_DB_AREA=/afs/cern.ch/atlas/software/releases/15.6.4
export DBRELEASE_OVERRIDE=8.6.2
and setup Athena. The list of DB release Vs SW release can be found
here.
How to find information about Atlas DB releases?
AtlasDBRelease
How to setup a special DB release?
To see how to setup a special database release click
here.
How to specify a non-default database release?
To see how to setup a non-default database release click
here.
How to switch to local SQLite files?
To use a local SQLite file in a context where CERN AFS is accessible follow the instructions
here.
Quick solution: in your session do source setupLocalDBReplica_CERN.sh
How to solve run time problems related to "exceeded simultaneous SESSIONS_PER_USER limit"?
Athena job ends-up with
Persistency/RelationalPlugins/oracle Error ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit (authenticating)
Persistency/Services/ConnectionService Warning Failure while attempting to start a session on connection oracle://ATLAS_COOLPROD/ATLAS_COOL_LAR: Failed to authenticate with the server ( CORAL : "ISession::startUserSession" from "Persistency/RelationalPlugins/oracle" )
Persistency/Services/ConnectionService Warning Connection oracle://ATLAS_COOLPROD/ATLAS_COOL_LAR is currently unavailable, and will be temporarely excluded from replicas.
The default conddb server is overloaded, one can switch to a mirror just doing in one's run directory (available as soon as run time environment is setup):
setupLocalDBReplica_CERN.sh
Athena and ATLAS Geometry
How to find the ATLAS geometry of a data pool?
The Atlas Geometry and Condition tags can be detected by using the commanddumpVersionTags.py <pool> after setting the Athena environment, e.g.
dumpVersionTags.py /nasatlas1/DESD_COLLCAND/data09_900GeV.00142383.physics_MinBias.merge.DESD_COLLCAND.r988_p62_tid102217_00/DESD_COLLCAND.102217._000001.root.1
Picking up these tags we eventually set up correctly the job option's geometry according to the input pools.
Athena and GRL
How to find updated good run lists?
Good Run List Generator
Athena and Trigger
How to solve the error message I get related to InputFilePeeker?
FilesInput property of athenaCommonFlags is needed for the
InputFilePeeker in case you read from a pool file. Accordingly, inputFilePeeker is needed to find the rare cases where no Trigger configuration is stored in the ESD/AOD/DPD. Therefore, in your python script, beyond
ServiceMgr.EventSelector.InputCollections = InputPool
it's necessary to say
from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
athenaCommonFlags.FilesInput.set_Value_and_Lock(InputPool)
Ganga
How to request different DB release at the submission time of a Ganga Job?
Details here:
Changing_the_DB_Release
Quick solution:
- Find on AMI the DBRelease used to produce your pool, eg DBReleae 8.2.1
- Find on grid the appropriate directory name by checking: dq2-ls ddo.*tar.gz
- You may also chek localy at CERN if the tarball exists: ls /afs/cern.ch/atlas/software/DBreleases/dev/ or /afs/cern.ch/atlas/software/releases/$AtlasVersion/DBRelease/current for your current Athena version. Otherwise, you may check in other Athena version directory, such as /afs/cern.ch/atlas/software/releases/15.6.1/DBRelease/
- You can browse all available numbered DB Releases tarballs on CERN AFS directory /afs/cern.ch/atlas/www/GROUPS/DATABASE/pacman4/DBRelease or pointing your web browser to <a target="_top" href="http://atlas.web.cern.ch/Atlas/GROUPS/DATABASE/pacman4/DBRelease">http://atlas.web.cern.ch/Atlas/GROUPS/DATABASE/pacman4/DBRelease</a>. For each DB Release version you can find there a pair of files: a pacman file (useless) and a DB Release tarball.
In your Ganga python script define then the desirable db release
myAtlasDBrelease = 'ddo.000001.Atlas.Ideal.DBRelease.v080201:DBRelease-8.2.1.tar.gz'
myAtlasDBenvironment = ['DBRELEASE_OVERRIDE=8.2.1']
and after
j.application = Athena()
insert
j.application.atlas_dbrelease = myAtlasDBrelease
j.application.atlas_environment= myAtlasDBenvironment
Ready to run Ganga.