SCT Calibration & Monitoring
How to run SctCalib on lxplus
On lxplus execute the following commands in order to create the working environment:
mkdir -p sct/testarea/17.2.X.Y
cd sct/testarea/17.2.X.Y
asetup 17.2.X.Y,rel_0,slc5,here
cmt co InnerDetector/InDetCalibAlgs/SCT_CalibAlgs
cd InnerDetector/InDetCalibAlgs/SCT_CalibAlgs
cd cmt
cmt config
source setup.sh
make
Now the we have to create the folder where the script is going to be run
mkdir ../run
cd ../run
cp ../share/SCTCalib_topOptions.py .
cp ../share/SCTCalibConfig.py .
cp ../share/input_BS.py .
cp ../share/input_HIST.py .
cp ../share/ReadCoolUPD4.py .
The main configuration is located in
SCTCalibConfig.py (
RunNumber,
EvtMax). The input file must be provided in either input_BS.py (for Noisy Strips) or input_HIST.py (for Lorentz Angle).
Aditional infromation about the
RunNumber has to be provided, for that you must run the runInfo.py script giving as an argument the
RunNumber., for example:
./runInfo.py 201221
To Run the SCTCalib just do:
athena SCTCalib_topOptions.py > log.txt &
tail -f log.txt
How to run SctCalib on lxplus using sct_calib_trf.py
This script is needed for the implementation in the Task Management Service. This script runs as follow:
cp ../share/sct_calib_trf.py .
./sct_calib_trf.py input=<INPUT_FILE> part=<doNoisyStrip,doLorentzAngle,etc> doRunInfo=True SCTCalibConfig=SCTCalibConfig.py
On the other hand a list of arguments in .gpickle format (python's dictionary in pickle format) can be provided using the the following argument:
./sct_calib_trf.py argdict="file_name.gpickle"
How to run SCT_Monitoring on lxplus
In order to create the input file for the SCTCalib the SCT_Monitoring package has to be run.
mkdir -p sct/testarea/17.2.X.Y
cd sct/testarea/17.2.X.Y
asetup 17.2.X.Y,rel_0,slc5,here
cmt co InnerDetector/InDetMonitoring/SCT_Monitoring
cd InnerDetector/InDetMonitoring/SCT_Monitoring
cd cmt
cmt config
source setup.sh
make
The best way of running this package is through the Reco_trf.py script. This script will turn on all the possible dependencies that SCT_Monitoring package could have.
A detailed twiki page of this script can be found in:
https://twiki.cern.ch/twiki/bin/view/AtlasComputing/RecoTrf
The arguments can be given using a python dictionary in pickle format as follow:
Reco_trf.py --argdict arguments.pickle
An example of how to create a dictionary in pickle format can be found in:
https://wiki.python.org/moin/UsingPickle
It is necessary to run the full production chain in order to get the right Monitoring file, i.e, at least the following output arguments must be provided to the Reco_trf
{
'inputBSFile': 'data12_8TeV.00209994.express_express.merge.RAW._lb0428._SFO-ALL._0001.1',
'outputAODFile': 'data12_8TeV.00209994.express_express.recon.AOD.f476._lb0427._SFO-ALL._0001.1',
'outputNTUP_SCTFile': 'data12_8TeV.00209994.express_express.recon.NTUP_SCT.f476._lb0427._SFO-ALL._0001.1',
'outputESDFile': 'data12_8TeV.00209994.express_express.recon.ESD.f476._lb0427._SFO-ALL._0001.1',
'outputHISTFile': 'MonitorFINAL.root'
}