Commit 30585aa7 authored by Michael Christian Rammensee's avatar Michael Christian Rammensee Committed by Graeme Stewart
Browse files

Force use of CONDBR2 in LS1V1 test MuonM4 (TrigP1Test-00-05-29)

parent e0ed235f
This diff is collapsed.
# Configuration file for check_msg_stat.py
# Contains exceptions to the message thresholds supplied on the command line
# 'Source' is a regular expression. To match the entire string append '$'
#
# Source Level Max
#
# Framework
IOVDbSvc$ INFO 200
HistorySvc$ INFO 5
Lvl2EventLoopMgr$ INFO 20
EFEventLoopMgr$ INFO 20
BeamCondSvc$ INFO 10
.*TrigOpMonitor$ INFO 10
.*TrigCOOLUpdateHelper$ INFO 10
InDetSCT_ByteStreamErrorsSvc INFO 10
# EF Muon (initialized on 1st use)
.*EF.*MatchingTool$ INFO 1
ToolSvc.MuonEDMHelperTool$ INFO 1
ToolSvc.MuonSegmentTrackBuilder$ INFO 1
ToolSvc.TrigMuonEFSegmentMatchingToolTight$ INFO 1
ToolSvc.TMEF_MooTrackBuilder$ INFO 1
.*MuidTrackCleaner$ INFO 2
.*MuonTrackCleaner$ INFO 2
# This is the default config file for check_log
# Declare patterns that should be ignored
#
# *Note*: these are perl regular expressions which are matched directly against
# lines of the logfile that contain ERROR or FATAL.
# See man perlre (1),
# http://www.perl.com/doc/manual/html/pod/perlre.html
# http://en.wikipedia.org/wiki/Regular_expression_examples
# These are fakes due to printout of the current message level
ignore 'Output level\s*=.*'
ignore 'LOGLEVEL.*=.*'
# Ignore message count summary from MessageSvc
ignore '.*?\|\s*WARNING\s*\|.*'
ignore '.*?\|\s*ERROR\s*\|.*'
ignore '.*?\|\s*FATAL\s*\|.*'
# This is really a warning
ignore 'IOVSvc\s+WARNING setRange\(CLID,key,range\) for unregistered proxies is deprecated'
# this concerns file names
ignore 'PoolSvc + WARNING Do not allow this ERROR to propagate to physics jobs.'
# For HelloWorld test
ignore 'HelloWorld\s*FATAL A FATAL error message'
ignore 'HelloWorld\s*ERROR An ERROR message'
ignore 'HelloWorld\s*WARNING A WARNING message'
# Ignore other messages that contain the string "ERROR"
ignore '.*VERBOSE.*ERROR.*'
ignore '.*DEBUG.*ERROR.*'
ignore '.*INFO.*ERROR.*'
# Ignore error string in histogram names
ignore '.*Histograms.*ERROR.*'
# Ignore some printouts from ERS
ignore '.*L2PSC_ERROR_UNCLASSIFIED.*'
# Ignores for warning checks
ignore '.*EventLoopMgr.*WARNING Run number changed from'
# Ignore warning from histmon (bug #48797, bug #88042)
ignore '.*was caused by: ERROR.*The object "RunParams" of the "is/repository" type is not published'
ignore '.*was caused by: ERROR.*Partition "athena_mon" does not exist'
ignore '.*was caused by: ERROR.*ipc::util::resolveInitialReference.* Can not open.*'
# Ignore error/warning from athenaMT/PT
ignore '.*WARNING\s*Could not configure the user command server.*'
ignore '.*WARNING\s*The hlt command server will not be available.*'
# Ignore some ipcproxyicp plugin erros
ignore 'ERROR.*Loading of the.*ipcproxyicp.*unknown exception in the plugin constructor'
# Ignore warning and error messages
ignore 'WARNING\s*[void EventStorage::DataWriter::openNextFile(...) at EventStorage/src/DataWriter.cxx:*] EventStorage writing problem: found an existing file with name.*'
ignore 'WARNING\s*[void EventStorage::DataWriter::openNextFile(...) at EventStorage/src/DataWriter.cxx:*] EventStorage writing problem: increase file number to.*'
ignore 'HistogramPersistencySvc\s*WARNING Histograms saving not required.*'
ignore '.*ERROR (pool):.*'
ignore '^.ERROR (pool):.$'
ignore 'WARNING\s*The property JobProperties.Rec.Trigger.doLVL2 is being unlocked'
ignore 'WARNING\s*The property JobProperties.Rec.Trigger.doEF is being unlocked'
# bug 90593
ignore '.*wrong interface id IID_3596816672 for service JobIDSvc.*'
##################################################################
# For partition tests
##################################################################
# Ignore corba error when running with OH
ignore '.*COMM_FAILURE\(1096024071=COMM_FAILURE_WaitingForReply\).*'
# Infrastructure applications
ignore '.*ERROR onasic_is2oks::Found an ISError in ISINFO.*'
ignore '.*oks2coral::TooManyChanges ERROR.*'
ignore '.*oks2coral::CannotArchiveFile ERROR.*'
ignore '.*ERROR.* CORBA system exception.*TRANSIENT_ConnectFailed.*'
ignore '.*is::RepositoryNotFound ERROR.*'
ignore '.*ipc::CorbaSystemException ERROR.*'
# L2PU/PT log files
ignore '.*TDAQ_ERS_FATAL.*'
ignore '.*TDAQ_ERS_ERROR.*'
# Message from check_log.pl itself
ignore '.*ERROR or FATAL messages in.*'
# This is the default config file for check_log
ignore 'ImportError: No module named MuonDQAMonFlags.MuonDQAFlags'
ignore 'IGNORE TRF_UNKNOWN ATHENA ERRORS MODE: ON'
ignore 'RDBVersionAccessor::getVersion DEBUG ERROR processing HVS_NODE, Number of fetched records !=2'
ignore '6 Option : \'LOGLEVEL\' = \'INFO,ERROR\''
ignore 'Py:Configurable ERROR attempt to add a duplicate (CellCalibrator.CellCalibrator.H1WeightCone7H1Tower) ... dupe ignored'
#
ignore 'ErrorStreamTags*'
#!/usr/bin/env bash
#
# This scripts removes some control characters from the log file
# to make them viewable in a browser
#
if [ $# -lt 1 ]; then
echo "Syntax: `basename $0` [FILE] [FILE] ..."
exit 1
fi
for log in $@; do
sed "s///g" $log > $log.tmp
mv $log.tmp $log
done
#
\ No newline at end of file
#!/usr/bin/env bash
#
echo "=== linktoHLT.sh"
if [ $# -ge 1 ]; then
type=$1
echo "looking for files with ${type} in name"
else
type=""
fi
thisrel=`printenv CMTPATH | awk '{ print substr($1, index($1,"builds/nightlies/")+17, 30 ) }' | awk '{print substr($1,1,index($1,"/Atlas")-1) }' `
echo "this release: $thisrel"
# This step has to be adjusted by hand, when the baserelease for T0 reco and P1HLT cache are different
savedbsrel=$thisrel
echo "$savedbsrel" | grep 19.X.0
if [[ $? == 0 ]]
then
savedbsrel="${thisrel/19.X.0/19.0.X.Y}"
fi
echo "rel of saved BS",$savedbsrel
echo "$savedbsrel" | grep T0
if [[ $? == 0 ]]
then
sname="/afs/cern.ch/atlas/project/trigger/pesa-sw/validation/online/references/ATN/${savedbsrel}/latest/*${type}-*.data"
else
sname="/afs/cern.ch/atlas/project/trigger/pesa-sw/validation/online/references/ATN/${savedbsrel}-T0/latest/*${type}-*.data"
fi
#
ls -lrt $sname
latestfile=`ls -rt $sname | tail -1`
filesize=`stat -c%s $latestfile`
if [[ $? == 0 ]]
then
`ln -s ${latestfile} link_to_file_from_P1HLT.data`
ls -l link_to_file_from_P1HLT.data
else
echo "ERROR: could not link to data file; test will end in FAILURE"
echo "ERROR: check that links are correctly set at /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/online/references/ATN/"
exit 1
fi
f
f
x solCur=7730;torCur=20500;execfile('setMagFieldCurrents.py')
f
f
b
x solCur=0;torCur=0;execfile('setMagFieldCurrents.py')
f
f
b
x solCur=7730;torCur=20500;execfile('setMagFieldCurrents.py')
f
f
b
b
b
e
#!/usr/bin/env bash
## Do REGTEST for partition test
## Run this script in the run directory of the partition test
## Prepend script name to all our printouts
shopt -s expand_aliases
alias log='echo [`basename $0`] '
if [ $# -ne 2 ]; then
log "Syntax: `basename $0` L2-reference EF-reference"
exit 1
fi
## Get the partition name from the DB file name
part_name=`ls -1 *rel_nightly.data.xml`
part_name=`basename $part_name '.data.xml'`
## Replace /latest/ with /NIGHTLY/latest
## This reproduces the same (confusing) behavior as in trigtest.pl
# make the extraction of the nightly name exactly same as in trigtest.pl
#l2ref=`echo $1 | sed "s#/latest/#/${NICOS_NIGHTLY_NAME}/latest/#"`
#efref=`echo $2 | sed "s#/latest/#/${NICOS_NIGHTLY_NAME}/latest/#"`
#printenv CMTPATH
#thisrel=`printenv CMTPATH | awk '{ print substr($1, index($1,"builds/nightlies/")+17, 30 ) }' | awk '{print substr($1,1,index($1,"/Atlas")-1) }' `
#echo "looking for references in release: ${thisrel}"
#l2ref=`echo $1 | sed "s#/latest/#/${thisrel}/latest/#"`
#efref=`echo $2 | sed "s#/latest/#/${thisrel}/latest/#"`
l2ref=$1
efref=$2
regTest() {
ref=$1
file=$2
ignore=$3
grep -a REGTEST $file > $file.regtest
echo "Reference: $ref"
echo "File: $file.regtest"
if [ -z "$ignore" ]; then
diff -b $ref $file.regtest
else
echo "Ignoring: $ignore"
cat ${ref} | egrep -v "${ignore}" > "ref.ignore"
cat ${file}.regtest | egrep -v "${ignore}" > "file.ignore"
diff -b "ref.ignore" "file.ignore"
fi
status=$?
if [ $status -eq 0 ]; then
echo "---> No differences found <---"
fi
return $status
}
## Diff L2PU log file
echo
log "*************************************************************************"
log "* REGTEST of L2PU vs. athenaMT *"
log "*************************************************************************"
l2log=`ls ${part_name}/L2PU*.out`
regTest $l2ref $l2log 'L2MissingET_Fex.*Lvl1Id|L2MissingET_Fex.*Run number|L2MissingET_Fex.*DetMask_1'
l2status=$?
## Diff PT log file
echo
log "*************************************************************************"
log "* REGTEST of PT vs. athenaPT *"
log "*************************************************************************"
eflog=`ls ${part_name}/PT*.out`
regTest $efref $eflog 'EFMissingET_Fex.*Lvl1Id|EFMissingET_Fex.*Run number|EFMissingET_Fex.*DetMask_1'
efstatus=$?
echo
log "-------------------------------------------------------------------------"
log "L2 regtest status: ${l2status}"
log "EF regtest status: ${efstatus}"
log "-------------------------------------------------------------------------"
if [ $l2status -eq 0 -a $efstatus -eq 0 ]; then
exit 0
else
exit 1
fi
#!/usr/bin/env bash
## Run rootcomp.py for partition test
## Run this script in the run directory of the partition test
## Prepend script name to all our printouts
shopt -s expand_aliases
alias log='echo [`basename $0`] '
if [ $# -ne 2 ]; then
log "Syntax: `basename $0` L2-reference EF-reference"
exit 1
fi
## Replace /latest/ with /NIGHTLY/latest
## This reproduces the same (confusing) behavior as in trigtest.pl
# this is already done in trigtest.pl
#l2ref=`echo $1 | sed "s#/latest/#/${NICOS_NIGHTLY_NAME}/latest/#"`
#efref=`echo $2 | sed "s#/latest/#/${NICOS_NIGHTLY_NAME}/latest/#"`
l2ref=$1
efref=$2
echo
log "*************************************************************************"
log "* Comparing L2 histograms *"
log "*************************************************************************"
rootcomp.py $l2ref 'Histogramming-L2-Segment-1-1-iss.root' --fileBaseDir='Histogramming-L2-Segment-1-1-iss/L2PU-32767/EXPERT' --noRoot --zip --ignoreMissingRef --output rootcomp_l2
l2status=$?
echo
log "*************************************************************************"
log "* Comparing EF histograms *"
log "*************************************************************************"
node=`hostname -s`
rootcomp.py $efref 'Histogramming-EF-Segment-1-1-iss.root' --fileBaseDir="Histogramming-EF-Segment-1-1-iss/PT-1_EF-Segment-1-1_${node}_1/EXPERT" --noRoot --zip --ignoreMissingRef --output rootcomp_ef
efstatus=$?
log "-------------------------------------------------------------------------"
log "L2 rootcomp.py exit code: ${l2status}"
log "EF rootcomp.py exit code: ${efstatus}"
log "-------------------------------------------------------------------------"
if [ $l2status -eq 0 -a $efstatus -eq 0 ]; then
exit 0
else
exit 1
fi
#!/usr/bin/env bash
#
# Do REGTEST between several runs in one log file
#
if [ $# -ne 3 ]; then
if [ $# -ne 1 ]; then
echo "Syntax: `basename $0` LOGFILE"
echo "Syntax: `basename $0` LOGFILE RUN_REFERENCE RUN_TEST"
exit 1
fi
fi
log=$1
runref="$2"
runtest="$3"
runlogs=`splitlog.py -b '.*Psc prepareForRun finished.*' -e '.*Psc stopRun finished.*' $log`
nruns=`echo $runlogs | wc -w`
echo "Doing REGTEST between several runs in one log file"
echo
echo "Log file: $log"
echo "Number of runs: $nruns"
status=0
first=""
logref=""
logtest=""
for f in $runlogs; do
if [ -z $logref ]; then
if [ -n $runref ]; then
logref=`echo $f | grep log.$runref`
fi
fi
if [ -z $logtest ]; then
if [ -n "$runtest" ]; then
logtest=`echo $f | grep log.$runtest`
fi
fi
grep -a REGTEST $f > $f.regtest
if [ -z $first ]; then
first=$f
continue
fi
if [ -z "$runref" ]; then
echo "*****************************************************************************"
echo " REGTEST of $first and $f"
echo "*****************************************************************************"
diff -b $first.regtest $f.regtest
status=$(($status+$?))
fi
done
if [ -n "$runtest" ]; then
echo "*****************************************************************************"
echo " REGTEST of $logref and $logtest"
echo "*****************************************************************************"
diff -b $logref.regtest $logtest.regtest
status=$(($status+$?))
fi
# Delete run-wise log files
rm -f $runlogs
echo
if [ $status -eq 0 ]; then
echo "No differences found"
fi
echo "Final return code: $status"
exit $status
f
f
f
f
b
x import os;os.system('oh_cp -p%s -s.+ -f run_1.root' % os.environ['TDAQ_PARTITION'])
f
f
b
x import os;os.system('oh_cp -p%s -s.+ -f run_2.root' % os.environ['TDAQ_PARTITION'])
f
f
b
x import os;os.system('oh_cp -p%s -s.+ -f run_3.root' % os.environ['TDAQ_PARTITION'])
b
b
e
f
f
f
f
b
#x import os;os.system('oh_cp -p%s -s.+ -f run_1.root' % os.environ['TDAQ_PARTITION'])
f
f
b
#x import os;os.system('oh_cp -p%s -s.+ -f run_2.root' % os.environ['TDAQ_PARTITION'])
b
b
e
#!/bin/sh
# script to copy output file from athenaPT or athenaMT to afs if it is good
#
if [ $# -ne 2 ]; then
echo "Syntax: `basename $0` file reference-directory "
exit 1
fi
#
# replace the pattern "latest" with release name location
#
echo "save_to_refdire.sh: save data file to T0 references area"
printenv CMTPATH
thisrel=`printenv CMTPATH | awk '{ print substr($1, index($1,"builds/nightlies/")+17, 30 ) }' | awk '{print substr($1,1,index($1,"/Atlas")-1) }' `
# remove any -P1HLT from thisrel
T0rel=`echo $thisrel | sed "s/-P1HLT//"`
# now add the T0 name to get the right place
refdir=`echo $2 | sed "s#/latest#/${T0rel}-T0/latest#"`
# fill in valstr if this is val or not
printenv CMTPATH | grep -q VAL
if [[ $? -eq 0 ]] ; then
valstr="VAL"
else
valstr=""
fi
datestr=`date -I`
echo "this release: $thisrel"
echo "T0rel: ${T0rel}"
echo "new directory: $refdir"
echo "val and date strings:" $valstr $datestr
#
# did athena finish okay? ( it would be nice to also have the athena status code)
#
#egrep " ERROR "\|" FATAL"\|" CRITICAL"\|"^Exception:"\|"Traceback"\|"Shortened traceback"\|"stack trace"\|"^Algorithm stack:"\|".IncludeError"\|"inconsistent use of tabs and spaces in indentation" atn_test.log &> /dev/null
check_log.pl --config checklogTrigP1Test.conf --showexcludestats atn_test.log
testOK=$?
if [[ $testOK -eq 0 ]]
then
echo "No ERROR or FATAL found in atn_test.log"
ls -l atn_test.log
else
echo "ERROR or FATAL , see atn_test.log"
ls -l atn_test.log
# egrep " ERROR "\|" FATAL"\|" CRITICAL"\|"^Exception:"\|"Traceback"\|"Shortened traceback"\|"stack trace"\|"^Algorithm stack:"\|".IncludeError"\|"inconsistent use of tabs and spaces in indentation" atn_test.log
fi
#
# how big is the output file
#
outputRaw=`readlink -f $1`
size=`ls -s $outputRaw | awk '{print $1}'`
# make sure file is atleat 1 MB (1000kB)
if [[ $size -gt 1000 ]]
then
echo "File looks size okay: $size"
ls -l $outputRaw
else
echo "File too small, not copied, $size"
ls -l $outputRaw
fi
### override prevention when not running in AtlasP1HLT
if [[ $AtlasProject == "AtlasP1HLT" ]]
then
echo "project $AtlasProject"
else
echo "project $AtlasProject, file not copied"
fi
if [[ $testOK -eq 0 && $size -gt 1000 && $AtlasProject == "AtlasP1HLT" ]]
then
# save only two days of files per Brain request
purgedepth=2
echo "removing old data files from ${refdir}"
find ${refdir}/ -mtime +${purgedepth} -name \*$1
echo " find ${refdir}\ -mtime +${purgedepth} -name \*$1 -exec rm {} \;"
find ${refdir}/ -mtime +${purgedepth} -name \*$1 -exec rm {} \;
echo "copying to references area: ${refdir}"
cp $outputRaw ${refdir}/${datestr}${valstr}$1
ls -l ${refdir}/${datestr}${valstr}$1
exit 0
else
echo "File not copied"
exit 1
fi
#!/usr/bin/env python
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
#
# @file: splitlog.py
# @purpose: Slice file into several pieces using regular expressions
# @author: Frank Winklmeier
__version__ = "$Revision: 1.1 $"
import sys
import re
def sliceLog(beginRE, endRE, filename):
file = open(filename)