Skip to content
Snippets Groups Projects
Commit 434ed555 authored by Ignacio Aracena's avatar Ignacio Aracena Committed by Graeme Stewart
Browse files

updates for RDO_TRIG (RecJobTransforms-01-00-34)

parent 8601d9c6
No related branches found
No related tags found
No related merge requests found
......@@ -106,6 +106,9 @@ def addRecoSubsteps(executorSet):
substep = 'a2da', inData = ['AOD'], outData = ['DAOD']))
executorSet.add(reductionFrameworkExecutorNTUP(name = 'NTUPtoRED', skeletonFile = 'PATJobTransforms/skeleton.NTUPtoRED_tf.py',
substep = 'n2n', inData = ['NTUP_COMMON'], outData = ['DNTUP']))
executorSet.add(reductionFrameworkExecutor(name = 'EVNTtoDAOD', skeletonFile = 'PATJobTransforms/skeleton.AODtoDAOD_tf.py',
substep = 'ev2da', inData = ['EVNT'], outData = ['DAOD']))
## @brief The standard suite of reconstruction specific arguments
......
......@@ -3,7 +3,7 @@
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
## SkimRAW_tf.py - Bytestream skimmer transform
# @version $Id: RAWSkim_tf.py 571272 2013-11-19 14:33:37Z graemes $
# @version $Id: RAWSkim_tf.py 643395 2015-02-01 19:51:21Z graemes $
import sys
import time
......@@ -53,13 +53,13 @@ def addMyArgs(parser):
parser.defineArgGroup('SkimRAW', 'Skim RAW Options')
parser.add_argument('--inputBSFile', nargs='+',
type=trfArgClasses.argFactory(trfArgClasses.argBSFile, io='input', type='bs'),
help='Input bytestream file(s)', group='SkimRAW', metavar='FILE', required=True)
help='Input bytestream file(s)', group='SkimRAW', metavar='FILE')
parser.add_argument('--outputBS_SKIMFile', '--outputBSFile',
type=trfArgClasses.argFactory(trfArgClasses.argBSFile, io='output', type='bs'),
help='Output skimmed bytestream file', group='SkimRAW', metavar='SkimmedFILE', required=True)
help='Output skimmed bytestream file', group='SkimRAW', metavar='SkimmedFILE')
parser.add_argument('--filterFile',
type=trfArgClasses.argFactory(trfArgClasses.argString),
help='Filter file for skimming bytestream', group='SkimRAW', required=True)
help='Filter file for skimming bytestream', group='SkimRAW')
if __name__ == '__main__':
......
......@@ -42,6 +42,17 @@ if hasattr(runArgs,"inputRDO_TRIGFile"):
globalflags.InputFormat.set_Value_and_Lock('pool')
athenaCommonFlags.PoolRDOInput.set_Value_and_Lock( runArgs.inputRDO_TRIGFile)
TriggerFlags.doTriggerConfigOnly.set_Value_and_Lock( True )
rec.doTrigger.set_Value_and_Lock(True)
recAlgs.doTrigger.set_Value_and_Lock(False)
from TrigDecisionMaker.TrigDecisionMakerConfig import TrigDecisionMaker
trigDecMaker = TrigDecisionMaker()
from TriggerJobOpts.HLTTriggerResultGetter import HLTTriggerResultGetter
hltoutput = HLTTriggerResultGetter()
from TriggerJobOpts.Lvl1ResultBuilderGetter import Lvl1ResultBuilderGetter
l1output = Lvl1ResultBuilderGetter()
from RecExConfig.ObjKeyStore import cfgKeyStore
if cfgKeyStore.isInInput("HLT::HLTResult","HLTResult_HLT"):
cfgKeyStore.clear("HLT::HLTResult")
if hasattr(runArgs,"inputRDO_FILTFile"):
rec.readRDO.set_Value_and_Lock( True )
globalflags.InputFormat.set_Value_and_Lock('pool')
......@@ -154,6 +165,9 @@ if hasattr(runArgs,"preInclude"):
if hasattr(runArgs,"topOptions"): include(runArgs.topOptions)
else: include( "RecExCommon/RecExCommon_topOptions.py" )
if hasattr(runArgs,"inputRDO_TRIGFile") and hasattr(topSequence,'TrigDecMaker'):
topSequence.TrigDecMaker.doL1 = False
## Post-include
if hasattr(runArgs,"postInclude"):
for fragment in runArgs.postInclude:
......
......@@ -55,6 +55,14 @@ if hasattr(runArgs,"preInclude"):
if hasattr(runArgs,"topOptions"): include(runArgs.topOptions)
else: include( "RecExCommon/RecExCommon_topOptions.py" )
from AnalysisTriggerAlgs.AnalysisTriggerAlgsConfig import \
RoIBResultToAOD
idx=0
for i in topSequence.getAllChildren():
idx += 1
if "TrigSteer_HLT" in i.getName():
topSequence.insert(idx+1, RoIBResultToAOD("RoIBResultToxAOD"))
from TrigDecisionMaker.TrigDecisionMakerConfig import WriteTrigDecision
trigDecWriter = WriteTrigDecision()
# inform TD maker that some parts may be missing
......@@ -73,32 +81,34 @@ else:
topSequence.TrigDecMaker.doL2 = False
topSequence.TrigDecMaker.doEF = False
from TrigEDMConfig.TriggerEDM import getLvl1ESDList, getESDList, \
getAODList, getLvl1AODList, getTrigIDTruthList
esdList = getESDList()
aodList = getAODList()
l1EsdList = getLvl1ESDList()
l1AodList = getLvl1AODList()
# In HLTTriggerResultGetter.py filled only when rec.doESD or rec.doAOD
trigIDTruthESD = getTrigIDTruthList(TriggerFlags.ESDEDMSet())
trigIDTruthAOD = getTrigIDTruthList(TriggerFlags.AODEDMSet())
def fillTrigList(inlist):
triglist = []
for k in inlist:
items = inlist[k]
for j in items:
triglist.append( k + "#" + j)
return triglist
triglists = fillTrigList(esdList)
triglists += fillTrigList(aodList)
triglists += fillTrigList(l1EsdList)
triglists += fillTrigList(l1AodList)
triglists += fillTrigList(trigIDTruthESD)
triglists += fillTrigList(trigIDTruthAOD)
StreamRDO.ItemList += list(set(triglists))
_TriggerESDList = {}
_TriggerAODList = {}
from TrigEDMConfig.TriggerEDM import getTriggerEDMList
_TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(), TriggerFlags.EDMDecodingVersion()) )
_TriggerAODList.update( getTriggerEDMList(TriggerFlags.AODEDMSet(), TriggerFlags.EDMDecodingVersion()) )
def preplist(input):
triglist = []
for k,val in input.iteritems():
for j in val:
triglist.append(k + "#" + j)
return triglist
StreamRDO.ItemList += ["HLT::HLTResult#HLTResult_HLT"]
StreamRDO.ItemList += preplist(_TriggerESDList)
StreamRDO.ItemList += preplist(_TriggerAODList)
from TrigEDMConfig.TriggerEDM import getLvl1ESDList
StreamRDO.ItemList += preplist(getLvl1ESDList())
from TrigEDMConfig.TriggerEDM import getLvl1AODList
StreamRDO.ItemList += preplist(getLvl1AODList())
StreamRDO.ItemList += [ "DataVector<LVL1::TriggerTower>#TriggerTowers" ]
StreamRDO.ItemList += [ "TRT_RDO_Container#TRT_RDOs" ]
StreamRDO.ItemList += [ "SCT_RDO_Container#SCT_RDOs" ]
StreamRDO.ItemList += [ "PixelRDO_Container#PixelRDOs" ]
StreamRDO.ItemList +=["2721#*"]
StreamRDO.ItemList +=["2927#*"]
StreamRDO.ItemList +=["2934#*"]
rec.OutputFileNameForRecoStep="RDOtoRDO_TRIG"
......@@ -113,4 +123,3 @@ if hasattr(runArgs,"postExec"):
for cmd in runArgs.postExec:
recoLog.info(cmd)
exec(cmd)
<?xml version="1.0"?>
<!DOCTYPE unifiedTestConfiguration SYSTEM "http://www.hep.ucl.ac.uk/atlas/AtlasTesting/DTD/unifiedTestConfiguration.dtd">
<unifiedTestConfiguration>
<atn></atn>
<kv></kv>
<rtt xmlns="http://www.hep.ucl.ac.uk/atlas/AtlasTesting/rtt" >
<rttContactPerson>Graeme Stewart</rttContactPerson>
<mailto>graeme.andrew.stewart@cern.ch</mailto>
<jobList>
<jobTransform userJobId="DigiMReco_trf_FCT">
<doc>Test of DigiMReco from HITS to AOD/TAG</doc>
<jobTransformJobName>DigiMReco_FCT</jobTransformJobName>
<jobTransformCmd>
DigiMReco_trf.py inputHitsFile=root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.105200.T1_McAtNlo_Jimmy.merge.HITS.e835_s1310_s1300/HITS.508808._000857.pool.root.1 tmpRDO=tmp.RDO.pool.root outputESDFile=my.ESD.pool.root outputAODFile=my.ADO.pool.root outputAODFile=my.ADO.pool.root outputTAGFile=my.TAG.root maxEvents=10 triggerConfigByRun='{180164:"MCRECO:DB:TRIGGERDBMC:301,134,246",183003:"MCRECO:DB:TRIGGERDBMC:301,134,246",186169:"MCRECO:DB:TRIGGERDBMC:301,134,246",186275:"MCRECO:DB:TRIGGERDBMC:303,139,248"}' preInclude_h2r='Digitization/ForceUseOfPileUpTools.py,SimulationJobOptions/preInclude.PileUpBunchTrains2011Config8_DigitConfig.py,RunDependentSimData/configLumi_mc11b_v1.py' preExec_h2r='from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=["SimLayout","PhysicsList"]' postExec_h2r='ToolSvc.LArAutoCorrTotalToolDefault.NMinBias=0' preExec_r2e='rec.Commissioning.set_Value_and_Lock(True);jobproperties.Beam.energy.set_Value_and_Lock(3500*Units.GeV);muonRecFlags.writeSDOs=True;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(8.0);jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50);from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import L2IDTrackingCuts;L2IDTrackingCuts.setRegSelZmax(225*Units.mm)' postExec_r2e='RegSelSvc=topSequence.allConfigurables.get("RegSelSvcDefault");RegSelSvc.DeltaZ=225*Units.mm' preExec_e2a='TriggerFlags.AODEDMSet="AODSLIM";rec.Commissioning.set_Value_and_Lock(True);jobproperties.Beam.energy.set_Value_and_Lock(3500*Units.GeV);muonRecFlags.writeSDOs=True;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(8.0);jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50)' RunNumber=105200 autoConfiguration=everything conditionsTag=OFLCOND-SDR-BS7T-05-12 geometryVersion=ATLAS-GEO-18-01-00 numberOfLowPtMinBias=29.966 numberOfHighPtMinBias=0.034 LowPtMinbiasHitsFile=root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.108118.Pythia8_minbias_Inelastic_low.merge.HITS.e816_s1299_s1303/HITS.500617._000382.pool.root.1 HighPtMinbiasHitsFile=root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.108119.Pythia8_minbias_Inelastic_high.merge.HITS.e848_s1299_s1303/HITS.500616._001496.pool.root.1 DataRunNumber=-1 jobNumber=41 digiSeedOffset1=41 digiSeedOffset2=41
</jobTransformCmd>
<group>DMRTrf</group>
</jobTransform>
</jobList>
</rtt>
</unifiedTestConfiguration>
#! /usr/bin/env python
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
#
# First go at making a test for DigiMReco using the python
# unit test framework
#
import unittest
from RecJobTransforms.DigiMReco_trf import DigiMultiTriggerRecoTrf
class TestSequenceFunctions(unittest.TestCase):
def test_momAndApplePie(self):
self.assertEqual(2, 2)
def test_fullChain(self):
'''DigiMReco from RDO to ADO/TAG'''
# Define the inputDictionary
inDic = {'inputHitsFile' : 'root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.105200.T1_McAtNlo_Jimmy.merge.HITS.e835_s1310_s1300/HITS.508808._000857.pool.root.1',
'tmpRDO' : 'tmp.RDO.pool.root',
'outputESDFile' : 'my.ESD.pool.root',
'outputAODFile' : 'my.ADO.pool.root',
'outputTAGFile' : 'my.TAG.root',
'maxEvents' : '10',
'triggerConfigByRun' : '{180164:"MCRECO:DB:TRIGGERDBMC:301,134,246",183003:"MCRECO:DB:TRIGGERDBMC:301,134,246",186169:"MCRECO:DB:TRIGGERDBMC:301,134,246",186275:"MCRECO:DB:TRIGGERDBMC:303,139,248"}',
'preInclude_h2r' : 'Digitization/ForceUseOfPileUpTools.py,SimulationJobOptions/preInclude.PileUpBunchTrains2011Config8_DigitConfig.py,RunDependentSimData/configLumi_mc11b_v1.py',
'preExec_h2r' : 'from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=["SimLayout","PhysicsList"]',
'postExec_h2r' : 'ToolSvc.LArAutoCorrTotalToolDefault.NMinBias=0',
'preExec_r2e' : 'rec.Commissioning.set_Value_and_Lock(True);jobproperties.Beam.energy.set_Value_and_Lock(3500*Units.GeV);muonRecFlags.writeSDOs=True;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(8.0);jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50);from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import L2IDTrackingCuts;L2IDTrackingCuts.setRegSelZmax(225*Units.mm)',
'postExec_r2e' : 'RegSelSvc=topSequence.allConfigurables.get("RegSelSvcDefault");RegSelSvc.DeltaZ=225*Units.mm',
'preExec_e2a' : 'TriggerFlags.AODEDMSet="AODSLIM";rec.Commissioning.set_Value_and_Lock(True);jobproperties.Beam.energy.set_Value_and_Lock(3500*Units.GeV);muonRecFlags.writeSDOs=True;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(8.0);jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50)',
'RunNumber' : '105200',
'autoConfiguration' : 'everything',
'conditionsTag' : 'OFLCOND-SDR-BS7T-05-12',
'geometryVersion' : 'ATLAS-GEO-18-01-00',
'numberOfLowPtMinBias' : '29.966',
'numberOfHighPtMinBias' : '0.034',
'LowPtMinbiasHitsFile' : 'root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.108118.Pythia8_minbias_Inelastic_low.merge.HITS.e816_s1299_s1303/HITS.500617._000382.pool.root.1',
'HighPtMinbiasHitsFile' : 'root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.108119.Pythia8_minbias_Inelastic_high.merge.HITS.e848_s1299_s1303/HITS.500616._001496.pool.root.1',
'DataRunNumber' : '-1',
'jobNumber' : '41',
'digiSeedOffset1' : '41',
'digiSeedOffset2' : '41',
}
print inDic
trf = DigiMultiTriggerRecoTrf(inDic)
trf._lastInChain=True
self.assertEqual(trf.exeArgDict(inDic).exitCode(), 0)
if __name__ == '__main__':
unittest.main()
#! /usr/bin/env bash
INPUTHITS=root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.105200.T1_McAtNlo_Jimmy.merge.HITS.e835_s1310_s1300/HITS.508808._000857.pool.root.1
LOWPTMB=root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.108118.Pythia8_minbias_Inelastic_low.merge.HITS.e816_s1299_s1303/HITS.500617._000382.pool.root.1
HIGHPTMB=root://eosatlas//eos/atlas/atlascerngroupdisk/proj-sit/digitization/RTT/mc11a/mc11_7TeV.108119.Pythia8_minbias_Inelastic_high.merge.HITS.e848_s1299_s1303/HITS.500616._001496.pool.root.1
GEO=ATLAS-GEO-18-01-00
COND=OFLCOND-SDR-BS7T-05-12
TRF=DigiMReco_trf.py
which $TRF
if [[ $? -ne 0 ]]; then
echo "ERROR: $TRF not found"
exit 2
fi
cmd="$TRF inputHitsFile=$INPUTHITS tmpRDO=tmp.RDO.pool.root outputESDFile=my.ESD.pool.root \
outputAODFile=my.ADO.pool.root outputTAGFile=my.TAG.root maxEvents=10 \
triggerConfigByRun='{180164:\"MCRECO:DB:TRIGGERDBMC:301,134,246\",183003:\"MCRECO:DB:TRIGGERDBMC:301,134,246\",186169:\"MCRECO:DB:TRIGGERDBMC:301,134,246\",186275:\"MCRECO:DB:TRIGGERDBMC:303,139,248\"}' \
preInclude_h2r='Digitization/ForceUseOfPileUpTools.py,SimulationJobOptions/preInclude.PileUpBunchTrains2011Config8_DigitConfig.py,RunDependentSimData/configLumi_mc11b_v1.py' \
preExec_h2r='from Digitization.DigitizationFlags import digitizationFlags;digitizationFlags.overrideMetadata+=[\"SimLayout\",\"PhysicsList\"]' \
postExec_h2r='ToolSvc.LArAutoCorrTotalToolDefault.NMinBias=0' \
preExec_r2e='rec.Commissioning.set_Value_and_Lock(True);jobproperties.Beam.energy.set_Value_and_Lock(3500*Units.GeV);muonRecFlags.writeSDOs=True;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(8.0);jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50);from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import L2IDTrackingCuts;L2IDTrackingCuts.setRegSelZmax(225*Units.mm)' \
postExec_r2e='RegSelSvc=topSequence.allConfigurables.get(\"RegSelSvcDefault\");RegSelSvc.DeltaZ=225*Units.mm' \
preExec_e2a='TriggerFlags.AODEDMSet=\"AODSLIM\";rec.Commissioning.set_Value_and_Lock(True);jobproperties.Beam.energy.set_Value_and_Lock(3500*Units.GeV);muonRecFlags.writeSDOs=True;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(8.0);jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50)' \
RunNumber=105200 autoConfiguration=everything \
conditionsTag=$COND \
geometryVersion=$GEO \
numberOfLowPtMinBias=29.966 numberOfHighPtMinBias=0.034 \
LowPtMinbiasHitsFile=$LOWPTMB \
HighPtMinbiasHitsFile=$HIGHPTMB \
DataRunNumber=-1 jobNumber=41 digiSeedOffset1=41 digiSeedOffset2=41"
echo $cmd
$cmd
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment