diff --git a/MuonSpectrometer/MuonDetDescr/MuonAGDD/MuonAGDD/MuonAGDDTool.h b/MuonSpectrometer/MuonDetDescr/MuonAGDD/MuonAGDD/MuonAGDDTool.h index 8f4aa98e4dc5332bbdad0f1ace8f9d1aba321664..c68bc53c59bb3307d64ea37a71499fba25b49f79 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonAGDD/MuonAGDD/MuonAGDDTool.h +++ b/MuonSpectrometer/MuonDetDescr/MuonAGDD/MuonAGDD/MuonAGDDTool.h @@ -31,6 +31,12 @@ private: std::vector<std::string> m_structuresFromFlags; std::string m_outPREsqlName; + // The following ServiceHandle<AmdcsimrecAthenaSvc> is only needed for creating AGDD muon layouts (muon passive material layouts) + // *IF* the AGDD xml block is still stored in the amdb file (https://twiki.cern.ch/twiki/bin/viewauth/Atlas/AmdbSimrecFiles) + // Note that this was the case until amdb_simrec.r.08.01, from amdb_simrec.r.08.02 onwards, the AGDD xml is stored independently + // of the amdb file in MuonSpectrometer/MuonG4/MuonPassiveMaterials. + // Thus, this ServiceHandle is only kept for backwards compatibility (in case someone wants to create muon layouts from amdb files + // older than amdb_simrec.r.08.02) #ifndef SIMULATIONBASE ServiceHandle<AmdcsimrecAthenaSvc> p_AmdcsimrecAthenaSvc; #endif diff --git a/MuonSpectrometer/MuonDetDescr/MuonAGDD/src/MuonAGDDTool.cxx b/MuonSpectrometer/MuonDetDescr/MuonAGDD/src/MuonAGDDTool.cxx index 4f73cd005c8bddd65dc20ea22c51717ec2453680..f44885e25eb7b1c2ee87168d6cb85c04bdfee468 100644 --- a/MuonSpectrometer/MuonDetDescr/MuonAGDD/src/MuonAGDDTool.cxx +++ b/MuonSpectrometer/MuonDetDescr/MuonAGDD/src/MuonAGDDTool.cxx @@ -35,10 +35,8 @@ StatusCode MuonAGDDTool::initialize() m_DBFileName = "Generated_" + m_outFileType + "_pool.txt"; } - // please see more details on regarding the dependency on AMDB on ATLASSIM-3636 - // and the CMakeLists.txt . the NSWAGDDTool avoids the dependency already #ifndef SIMULATIONBASE - if(m_writeDBfile && !m_xmlFiles.size()) CHECK( p_AmdcsimrecAthenaSvc.retrieve() ); + if(m_writeDBfile && !m_xmlFiles.size()) ATH_CHECK(p_AmdcsimrecAthenaSvc.retrieve()); #endif if (m_buildNSW) @@ -68,11 +66,11 @@ StatusCode MuonAGDDTool::construct() ATH_MSG_INFO(" ----> "<<m_structuresFromFlags[i]); } - if (!m_readAGDD) - { - ATH_MSG_INFO(" trying to parse files "); + // reading from a local AGDD xml file + if (!m_readAGDD) { + ATH_MSG_INFO(" Parsing local xml file "); m_controller->ParseFiles(); - if(!m_writeDBfile) return StatusCode::SUCCESS; + // reading the AGDD xml blob from the ATLAS geometry database } else { ATH_MSG_INFO(" now reading AGDD blob "); @@ -87,19 +85,24 @@ StatusCode MuonAGDDTool::construct() m_controller->ParseString(AGDDfile); } - if (m_printSections) - { + if (m_printSections) { ATH_MSG_INFO("\t Printing all sections"); m_controller->PrintSections(); } - - ATH_MSG_INFO(" now dumping the flags "); - for (unsigned int i =0;i<m_structuresFromFlags.size();i++) - { - ATH_MSG_INFO("\t\t----- "<<m_structuresFromFlags[i]<<" "<<ALIAS(m_structuresFromFlags[i])); - if (!m_buildNSW && m_structuresFromFlags[i]=="NewSmallWheel") continue; - m_controller->GetBuilder()->BuildFromVolume(m_structuresFromFlags[i]); - } + + // when reading from a local AGDD xml file and not creating a layout (i.e. running simulation from a local xml file), + // only build those volumes that are specified at the 'Volumes' property (analogously to the AGDD2GeoSwitches when reading the blob) + if (!m_readAGDD && !m_writeDBfile) { + for (const auto &vol:m_volumesToBuild) { + m_controller->GetBuilder()->BuildFromVolume(vol); + } + } else { + // when reading the AGDD xml blob, only build the volumes specified via the AGDD2GeoSwitches + for (unsigned int i =0;i<m_structuresFromFlags.size();i++) { + if (!m_buildNSW && m_structuresFromFlags[i]=="NewSmallWheel") continue; + m_controller->GetBuilder()->BuildFromVolume(m_structuresFromFlags[i]); + } + } if(m_writeDBfile) { @@ -176,9 +179,12 @@ bool MuonAGDDTool::WritePREsqlFile() const } std::string TheAmdcName = m_amdcName; - // in principle this information could also be accessed differently and the - // dependency on AMDB could be avoided. for the moment it's kept to be fully - // consistent with previous table generations + // The following is only needed for creating AGDD muon (passive material) layouts + // *IF* the AGDD xml block is still stored in the amdb file (https://twiki.cern.ch/twiki/bin/viewauth/Atlas/AmdbSimrecFiles) + // Note that this was the case until amdb_simrec.r.08.01, from amdb_simrec.r.08.02 onwards, the AGDD xml is stored independently + // of the amdb file in MuonSpectrometer/MuonG4/MuonPassiveMaterials. + // Thus, this retrieval of the AmdcName is only kept for backwards compatibility (in case someone wants to create muon layouts + // from amdb files older than amdb_simrec.r.08.02) to be fully consistent with previous table generations. #ifndef SIMULATIONBASE if (!m_xmlFiles.size()) { Amdcsimrec* pAmdcsimrec = p_AmdcsimrecAthenaSvc->GetAmdcsimrec(); diff --git a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx index 779ee8afbe08980b7b5edba4ef2865f1646b3d34..4a073094ebd6238f28d68a5a3e8de62be9a950a9 100755 --- a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx +++ b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx @@ -373,37 +373,43 @@ namespace MuonGM { GeoPcon* c4 = new GeoPcon( 0, 360*Gaudi::Units::deg ); if(m_isAmdcDb) { - log<< MSG::INFO <<" Using hardcoded envelope dimesions from MuonSystem-11 table" <<endmsg; - c4->addPlane(-26046. , 1050. , 1500. ); - c4->addPlane(-23001. , 1050. , 1500. ); - c4->addPlane(-23001. , 1050. , 2750. ); - c4->addPlane(-22030. , 1050. , 2750. ); - c4->addPlane(-22030. , 436. , 12650. ); - c4->addPlane(-18650. , 436. , 12650. ); - c4->addPlane(-18650. , 279. , 13400. ); - c4->addPlane(-12900. , 279. , 13400. ); - c4->addPlane(-12900. , 70. , 13910. ); - c4->addPlane( -6783. , 70. , 13910. ); - c4->addPlane( -6783. , 420. , 13910. ); - c4->addPlane( -6736. , 420. , 13910. ); - c4->addPlane( -6736. , 3800. , 13910. ); - c4->addPlane( -6550. , 3800. , 13910. ); - c4->addPlane( -6550. , 4255. , 13000. ); - c4->addPlane( 6550. , 4255. , 13000. ); - c4->addPlane( 6550. , 3800. , 13910. ); - c4->addPlane( 6736. , 3800. , 13910. ); - c4->addPlane( 6736. , 420. , 13910. ); - c4->addPlane( 6783. , 420. , 13910. ); - c4->addPlane( 6783. , 70. , 13910. ); - c4->addPlane( 12900. , 70. , 13910. ); - c4->addPlane( 12900. , 279. , 13400. ); - c4->addPlane( 18650. , 279. , 13400. ); - c4->addPlane( 18650. , 436. , 12650. ); - c4->addPlane( 22030. , 436. , 12650. ); - c4->addPlane( 22030. , 1050. , 2750. ); - c4->addPlane( 23001. , 1050. , 2750. ); - c4->addPlane( 23001. , 1050. , 1500. ); - c4->addPlane( 26046. , 1050. , 1500. ); + // NOTE: the following hard coded values are ONLY needed for local validation studies of new amdb layouts + // (when no values from the geometry database are retrieved, the values correspond to ATLAS-R2-2016-01-00-01) + log<< MSG::INFO <<" Using hardcoded envelope dimesions from MuonSystem-15 table" <<endmsg; + c4->addPlane(-26046. , 1050. , 1500); + c4->addPlane(-23001. , 1050. , 1500); + c4->addPlane(-23001. , 1050. , 2750); + c4->addPlane(-22030. , 1050. , 2750); + c4->addPlane(-22030. , 436.7 , 12650); + c4->addPlane(-18650. , 436.7 , 12650); + c4->addPlane(-18650. , 279. , 13400); + c4->addPlane(-12900. , 279. , 13400); + c4->addPlane(-12900. , 70. , 14200); + c4->addPlane( -6783. , 70. , 14200); + c4->addPlane( -6783. , 420. , 14200); + c4->addPlane( -6736. , 420. , 14200); + c4->addPlane( -6736. , 3800. , 14200); + c4->addPlane( -6550. , 3800. , 14200); + c4->addPlane( -6550. , 4255. , 14200); + c4->addPlane( -4000. , 4255. , 14200); + c4->addPlane( -4000. , 4255. , 13000); + c4->addPlane( 4000. , 4255. , 13000); + c4->addPlane( 4000. , 4255. , 14200); + c4->addPlane( 6550. , 4255. , 14200); + c4->addPlane( 6550. , 3800. , 14200); + c4->addPlane( 6736. , 3800. , 14200); + c4->addPlane( 6736. , 420. , 14200); + c4->addPlane( 6783. , 420. , 14200); + c4->addPlane( 6783. , 70. , 14200); + c4->addPlane( 12900. , 70. , 14200); + c4->addPlane( 12900. , 279. , 13400); + c4->addPlane( 18650. , 279. , 13400); + c4->addPlane( 18650. , 436.7 , 12650); + c4->addPlane( 22030. , 436.7 , 12650); + c4->addPlane( 22030. , 1050. , 2750); + c4->addPlane( 23001. , 1050. , 2750); + c4->addPlane( 23001. , 1050. , 1500); + c4->addPlane( 26046. , 1050. , 1500); } else { //--- --- --- CREATE ENVELOPE --- --- --- diff --git a/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_01.sh b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_01.sh index 963ac2ec2914fbefcba14ce4e923dfa1cb191cde..f26d290174e0d5a7c00232c8fead3afba18049c5 100755 --- a/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_01.sh +++ b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_01.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# art-description: Run simulation from existing layout of geometry database and from local file (for muon geometry MuonSpectrometer-R.08.01) +# art-description: Run simulation from existing layout of geometry database and from local amdb file (for muon geometry MuonSpectrometer-R.08.01) # # art-type: grid # art-include: master/Athena @@ -14,16 +14,17 @@ art.py createpoolfile set -x ####################################### -# first, run simulation with ATLAS layout ATLAS-R2-2016-01-00-01 (official Run2) based on MuonSpectrometer-R.08.01 +# run simulation with ATLAS layout ATLAS-R2-2016-01-00-01 (official Run2) based on MuonSpectrometer-R.08.01 # but from local file (in this case: amdb_simrec.r.08.01) ####################################### # download amdb file wget http://atlas.web.cern.ch/Atlas/GROUPS/MUON/AMDB/amdb_simrec.r.08.01 # run simulation from local amdb file +# NOTE: the simFlags.G4Commands+=["/process/em/applyCuts true"] is added by hand, since it is part of the nominal s3512 job, but apparently overwritten when giving a custom postExec Sim_tf.py --inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayMonitoringRTT/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ --geometryVersion 'default:ATLAS-R2-2016-01-00-01' \ - --postExec 'input_amdb_simrec="amdb_simrec.r.08.01";include("MuonGeoModel/InitGeoFromLocal_postIncl.py")' \ + --postExec 'input_amdb_simrec="amdb_simrec.r.08.01";include("MuonGeoModel/InitGeoFromLocal_postIncl.py");simFlags.G4Commands+=["/process/em/applyCuts true"]' \ --AMI=s3512 \ --maxEvents 25 \ --imf False \ @@ -39,7 +40,7 @@ fi mv log.EVNTtoHITS log.EVNTtoHITS_fromLocal ####################################### -# second, run simulation with ATLAS layout ATLAS-R2-2016-01-00-01 (official Run2) based on MuonSpectrometer-R.08.01 +# run simulation with ATLAS layout ATLAS-R2-2016-01-00-01 (official Run2) based on MuonSpectrometer-R.08.01 ####################################### Sim_tf.py --inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayMonitoringRTT/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ @@ -60,7 +61,7 @@ fi # then diff the output files ####################################### -acmd.py diff-root --ignore-leaves timings --mode semi-detailed --error-mode resilient OUT_HITS_fromLocal.root OUT_HITS.root &> log_diff_HITS.log +acmd.py diff-root OUT_HITS_fromLocal.root OUT_HITS.root --ignore-leaves RecoTimingObj_p1_EVNTtoHITS_timings index_ref &> log_diff_HITS.log exit_code=$? echo "art-result: ${exit_code} diff-root_sim" if [ ${exit_code} -ne 0 ] diff --git a/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_02_AGDD.sh b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_02_AGDD.sh new file mode 100755 index 0000000000000000000000000000000000000000..097a189a2d09b93a126ab58c21eabcc4953f80d0 --- /dev/null +++ b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_02_AGDD.sh @@ -0,0 +1,75 @@ +#!/bin/sh +# +# art-description: Run simulation from existing layout of geometry database and from local AGDD file (for muon geometry MuonSpectrometer-R.08.02) +# +# art-type: grid +# art-include: master/Athena +# +# art-output: log.EVNTtoHITS_fromLocal +# art-output: log.EVNTtoHITS +# art-output: log_diff_HITS.log + +art.py createpoolfile + +set -x + +####################################### +# run simulation with ATLAS layout ATLAS-R2-2016-01-02-01 (best knowledge Run2) based on MuonSpectrometer-R.08.02 +# but from local file (in this case: passiveMat_r.08.02.xml) +####################################### + +# download AGDD file +get_files passiveMat_r.08.02.xml +# run simulation from local AGDD file +# NOTE: the simFlags.G4Commands+=["/process/em/applyCuts true"] is added by hand, since it is part of the nominal s3512 job, but apparently overwritten when giving a custom postExec +Sim_tf.py --inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayMonitoringRTT/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ + --geometryVersion 'default:ATLAS-R2-2016-01-02-01_VALIDATION' \ + --postExec 'input_agdd_xml="passiveMat_r.08.02.xml";include("InitGeoFromLocal_postIncl.py");simFlags.G4Commands+=["/process/em/applyCuts true"]' \ + --AMI=s3512 \ + --maxEvents 25 \ + --imf False \ + --outputHITSFile OUT_HITS_fromLocal.root + +exit_code=$? +echo "art-result: ${exit_code} Sim_tf_fromLocal" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +mv log.EVNTtoHITS log.EVNTtoHITS_fromLocal + +####################################### +# run simulation with ATLAS layout ATLAS-R2-2016-01-02-01 (best knowledge Run2) based on MuonSpectrometer-R.08.02 +####################################### + +Sim_tf.py --inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayMonitoringRTT/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ + --geometryVersion 'default:ATLAS-R2-2016-01-02-01_VALIDATION' \ + --AMI=s3512 \ + --maxEvents 25 \ + --imf False \ + --outputHITSFile OUT_HITS.root + +exit_code=$? +echo "art-result: ${exit_code} Sim_tf" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +####################################### +# then diff the output files +####################################### + +acmd.py diff-root OUT_HITS_fromLocal.root OUT_HITS.root --ignore-leaves RecoTimingObj_p1_EVNTtoHITS_timings index_ref &> log_diff_HITS.log +exit_code=$? +echo "art-result: ${exit_code} diff-root_sim" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +echo "art-result: $?" + + + diff --git a/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_02_Amdb.sh b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_02_Amdb.sh new file mode 100755 index 0000000000000000000000000000000000000000..fc08e7f7c02d86c0af26f02ba5efe1eb53562d8b --- /dev/null +++ b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_08_02_Amdb.sh @@ -0,0 +1,75 @@ +#!/bin/sh +# +# art-description: Run simulation from existing layout of geometry database and from local amdb file (for muon geometry MuonSpectrometer-R.08.02) +# +# art-type: grid +# art-include: master/Athena +# +# art-output: log.EVNTtoHITS_fromLocal +# art-output: log.EVNTtoHITS +# art-output: log_diff_HITS.log + +art.py createpoolfile + +set -x + +####################################### +# run simulation with ATLAS layout ATLAS-R2-2016-01-02-01 (best knowledge Run2) based on MuonSpectrometer-R.08.02 +# but from local file (in this case: amdb_simrec.r.08.02) +####################################### + +# download amdb file +wget http://atlas.web.cern.ch/Atlas/GROUPS/MUON/AMDB/amdb_simrec.r.08.02 +# run simulation from local amdb file +# NOTE: the simFlags.G4Commands+=["/process/em/applyCuts true"] is added by hand, since it is part of the nominal s3512 job, but apparently overwritten when giving a custom postExec +Sim_tf.py --inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayMonitoringRTT/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ + --geometryVersion 'default:ATLAS-R2-2016-01-02-01_VALIDATION' \ + --postExec 'input_amdb_simrec="amdb_simrec.r.08.02";include("MuonGeoModel/InitGeoFromLocal_postIncl.py");simFlags.G4Commands+=["/process/em/applyCuts true"]' \ + --AMI=s3512 \ + --maxEvents 25 \ + --imf False \ + --outputHITSFile OUT_HITS_fromLocal.root + +exit_code=$? +echo "art-result: ${exit_code} Sim_tf_fromLocal" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +mv log.EVNTtoHITS log.EVNTtoHITS_fromLocal + +####################################### +# run simulation with ATLAS layout ATLAS-R2-2016-01-02-01 (best knowledge Run2) based on MuonSpectrometer-R.08.02 +####################################### + +Sim_tf.py --inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayMonitoringRTT/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ + --geometryVersion 'default:ATLAS-R2-2016-01-02-01_VALIDATION' \ + --AMI=s3512 \ + --maxEvents 25 \ + --imf False \ + --outputHITSFile OUT_HITS.root + +exit_code=$? +echo "art-result: ${exit_code} Sim_tf" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +####################################### +# then diff the output files +####################################### + +acmd.py diff-root OUT_HITS_fromLocal.root OUT_HITS.root --ignore-leaves RecoTimingObj_p1_EVNTtoHITS_timings index_ref &> log_diff_HITS.log +exit_code=$? +echo "art-result: ${exit_code} diff-root_sim" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +echo "art-result: $?" + + + diff --git a/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_09_02_NSWAGDD.sh b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_09_02_NSWAGDD.sh new file mode 100755 index 0000000000000000000000000000000000000000..5af0b37cc89f53c815eb468a0af3028ba5794463 --- /dev/null +++ b/MuonSpectrometer/MuonValidation/MuonGeomValidation/MuonGeomRTT/test/test_geoFromLocal_R_09_02_NSWAGDD.sh @@ -0,0 +1,75 @@ +#!/bin/sh +# +# art-description: Run simulation from existing layout of geometry database and from local NSW AGDD file (for muon geometry MuonSpectrometer-R.09.02.Asym) +# +# art-type: grid +# art-include: master/Athena +# +# art-output: log.EVNTtoHITS_fromLocal +# art-output: log.EVNTtoHITS +# art-output: log_diff_HITS.log + +art.py createpoolfile + +set -x + +####################################### +# run simulation with ATLAS layout ATLAS-R3-2021-01-00-01 (asymmetric Run3) based on MuonSpectrometer-R.09.02.Asym +# but from local file (in this case: stations.v2.08_Aside.xml) +####################################### + +# download NSWAGDD file +get_files stations.v2.08_Aside.xml +# run simulation from local NSW AGDD file +# NOTE: the simFlags.G4Commands+=["/process/em/applyCuts true"] is added by hand, since it is part of the nominal s3512 job, but apparently overwritten when giving a custom postExec +Sim_tf.py --inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayMonitoringRTT/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ + --geometryVersion 'default:ATLAS-R3-2021-01-00-01_VALIDATION' \ + --postExec 'input_nsw_xml="stations.v2.08_Aside.xml";include("MuonGeoModel/InitGeoFromLocal_postIncl.py");simFlags.G4Commands+=["/process/em/applyCuts true"]' \ + --AMI=s3512 \ + --maxEvents 25 \ + --imf False \ + --outputHITSFile OUT_HITS_fromLocal.root + +exit_code=$? +echo "art-result: ${exit_code} Sim_tf_fromLocal" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +mv log.EVNTtoHITS log.EVNTtoHITS_fromLocal + +####################################### +# run simulation with ATLAS layout ATLAS-R3-2021-01-00-01 (asymmetric Run3) based on MuonSpectrometer-R.09.02.Asym +####################################### + +Sim_tf.py --inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayMonitoringRTT/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ + --geometryVersion 'default:ATLAS-R3-2021-01-00-01_VALIDATION' \ + --AMI=s3512 \ + --maxEvents 25 \ + --imf False \ + --outputHITSFile OUT_HITS.root + +exit_code=$? +echo "art-result: ${exit_code} Sim_tf" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +####################################### +# then diff the output files +####################################### + +acmd.py diff-root OUT_HITS_fromLocal.root OUT_HITS.root --ignore-leaves RecoTimingObj_p1_EVNTtoHITS_timings index_ref &> log_diff_HITS.log +exit_code=$? +echo "art-result: ${exit_code} diff-root_sim" +if [ ${exit_code} -ne 0 ] +then + exit ${exit_code} +fi + +echo "art-result: $?" + + +