diff --git a/Trigger/TrigValidation/TrigAnalysisTest/Root/RootCoreTestHarness.cxx b/Trigger/TrigValidation/TrigAnalysisTest/Root/RootCoreTestHarness.cxx index 652d64d01090087fe0a318b5f145d007356b7a95..94363ca8270b973f61530a350a834b2a4a0985cb 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/Root/RootCoreTestHarness.cxx +++ b/Trigger/TrigValidation/TrigAnalysisTest/Root/RootCoreTestHarness.cxx @@ -19,6 +19,7 @@ using namespace std; # include <xAODRootAccess/TEvent.h> # include <xAODRootAccess/Init.h> # include <xAODRootAccess/tools/ReturnCheck.h> +# include <AsgTools/SgTEvent.h> #endif #include "TrigConfxAOD/xAODConfigTool.h" @@ -70,6 +71,9 @@ namespace TrigAnalysisTest { trigDecTool.setProperty("TrigDecisionKey","xTrigDecision"); trigDecTool.initialize(); + asg::SgTEvent sgtevent(&event); + test->setEventStore( &sgtevent ); + // Run the files size_t nEntries = chain->GetEntries(); for (size_t entry = 0; entry < nEntries; entry++) { diff --git a/Trigger/TrigValidation/TrigAnalysisTest/Root/Run1BStoxAODTrigger.cxx b/Trigger/TrigValidation/TrigAnalysisTest/Root/Run1BStoxAODTrigger.cxx new file mode 100644 index 0000000000000000000000000000000000000000..e003e3a278227c3835af465a22c14a0cc2153d6b --- /dev/null +++ b/Trigger/TrigValidation/TrigAnalysisTest/Root/Run1BStoxAODTrigger.cxx @@ -0,0 +1,193 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// +// Fill histograms for some of HLT xAOD containers from converted Run 1 data, to +// compare them with the AOD reference. +// + +//#include "AthenaBaseComps/AthAlgorithm.h" +//#include "GaudiKernel/ToolHandle.h" + +#include "TrigAnalysisTest/Run1BStoxAODTrigger.h" +#include "TrigDecisionTool/TrigDecisionTool.h" + +// to read HLT containers +#include "xAODTrigMissingET/TrigMissingET.h" +#include "xAODTrigMissingET/TrigMissingETContainer.h" +#include "xAODMuon/Muon.h" +#include "xAODMuon/MuonContainer.h" +#include "xAODJet/Jet.h" +#include "xAODJet/JetContainer.h" +#include "xAODTrigBphys/TrigBphys.h" +#include "xAODTrigBphys/TrigBphysContainer.h" + +// Root headers +#include "TMath.h" +#include "TH1F.h" +#include "TFile.h" +#include <iostream> + +using namespace std; +using namespace Trig; +using namespace xAOD; + +namespace TrigAnalysisTest { + // + // Init counters and get ready to run. + // + Run1BStoxAODTrigger::Run1BStoxAODTrigger() + : _passed_l1(0), + _passed_hlt(0), + _first_call(true) + { + histFile = new TFile("hist.root", "RECREATE"); + if (histFile == nullptr || !histFile->IsOpen()) { + cerr << "unable to open file for writing, exiting" << endl; + exit(1); + } + + // bphys + m_HLT_EFBMuMuXFex_eta = new TH1F( "HLT_EFBMuMuXFex_eta", "HLT_EFBMuMuXFex;#eta;No. of TrigEFBphys objects", 100, -4., 4. ); + m_HLT_EFBMuMuXFex_mass = new TH1F( "HLT_EFBMuMuXFex_mass", "HLT_EFBMuMuXFex;#M (GeV);No. of TrigEFBphys objects", 100, 0., 20. ); + // taus + m_HLT_TrigTauJet = new TH1F( "HLT_TrigTauJet", "HLT_TrigTauJet;p_{T} (GeV);Jets", 100, 0., 500. ); + // muons + m_HLT_MuonEF_NSegments = new TH1F( "HLT_MuonEF_NSegments", "HLT_MuonEF_NSegments;NSegments;Muons", 100, 0., 100.); + m_HLT_MuonEF_pt = new TH1F( "HLT_MuonEF_pt", "HLT_MuonEF_pt;p_{T} (GeV);Muons", 100, 0., 100.); + // MET + m_HLT_TrigEFMissingET = new TH1F( "HLT_TrigEFMissingET", "HLT_TrigEFMissingET;E_{T} (GeV);Entries", 100, 0., 200.); + m_HLT_TrigEFMissingET_FEB = new TH1F( "HLT_TrigEFMissingET_FEB", "HLT_TrigEFMissingET_FEB;E_{T} (GeV);Entries", 100, 0., 200. ); + m_HLT_TrigEFMissingET_topocl = new TH1F( "HLT_TrigEFMissingET_topocl", "HLT_TrigEFMissingET_topocl;E_{T} (GeV);Entries", 100, 0., 200. ); + } + + // Actually process an event. + void Run1BStoxAODTrigger::processEvent( TrigDecisionTool &trigDecTool) { + + // Did we pass a trigger level? + if (trigDecTool.isPassed("L1_.*")) + _passed_l1++; + if (trigDecTool.isPassed("EF_.*")) + _passed_hlt++; + + auto chainGroups = trigDecTool.getChainGroup(".*"); + for(auto &trig : chainGroups->getListOfTriggers()) { + if(!trigger_counts.count(trig)) + trigger_counts[trig] = 0; + if(trigDecTool.isPassed(trig)) { + trigger_counts[trig] += 1; + cout << "Trigger passed: " << trig << endl; + } + } + + // + //extract trigger containers and fill histograms + // + + // bphys + // HLT_EFBMuMuXFex + const xAOD::TrigBphysContainer* HLT_xAOD__TrigBphysContainer_EFBMuMuXFex = 0; + eventStore()->retrieve( HLT_xAOD__TrigBphysContainer_EFBMuMuXFex, "HLT_xAOD__TrigBphysContainer_EFBMuMuXFex" ); + cout << "size of HLT_xAOD__TrigBphysContainer_EFBMuMuXFex is " << HLT_xAOD__TrigBphysContainer_EFBMuMuXFex->size() << endl; + xAOD::TrigBphysContainer::const_iterator TrigBphys_iter; + for(TrigBphys_iter = HLT_xAOD__TrigBphysContainer_EFBMuMuXFex->begin(); TrigBphys_iter != HLT_xAOD__TrigBphysContainer_EFBMuMuXFex->end(); ++TrigBphys_iter) { + cout << "eta, mass = "<< (*TrigBphys_iter)->eta() << ", "<< (*TrigBphys_iter)->mass() << endl; + m_HLT_EFBMuMuXFex_eta->Fill( (*TrigBphys_iter)->eta() ); + m_HLT_EFBMuMuXFex_mass->Fill( (*TrigBphys_iter)->mass() ); + } + + // taus + // HLT_TrigTauJet + const xAOD::JetContainer* HLT_xAOD__JetContainer_TrigTauJet = 0; + eventStore()->retrieve( HLT_xAOD__JetContainer_TrigTauJet, "HLT_xAOD__JetContainer_TrigTauJet" );//weird name + cout << "HLT_xAOD__JetContainer_TrigTauJet successfully retrieved - size is " << HLT_xAOD__JetContainer_TrigTauJet->size() << " jets" << endl; + xAOD::JetContainer::const_iterator Jet_iter; + for(Jet_iter = HLT_xAOD__JetContainer_TrigTauJet->begin(); Jet_iter != HLT_xAOD__JetContainer_TrigTauJet->end(); ++Jet_iter) { + cout << "tau jet eta, pt: " << (*Jet_iter)->eta() << ", " << (*Jet_iter)->pt() << endl; + m_HLT_TrigTauJet->Fill( (*Jet_iter)->pt() / 1000. ); + } + + + // muons + // HLT_MuonEFInfo + const xAOD::MuonContainer* HLT_xAOD__MuonContainer_MuonEFInfo = 0; + eventStore()->retrieve( HLT_xAOD__MuonContainer_MuonEFInfo, "HLT_xAOD__MuonContainer_MuonEFInfo"); + cout << "size of HLT_xAOD__MuonContainer_MuonEFInfo is " << HLT_xAOD__MuonContainer_MuonEFInfo->size() << endl; + xAOD::MuonContainer::const_iterator Muon_iter; + for(Muon_iter = HLT_xAOD__MuonContainer_MuonEFInfo->begin(); Muon_iter!= HLT_xAOD__MuonContainer_MuonEFInfo->end(); ++Muon_iter) { + cout << "muon n segments, pt: " << (*Muon_iter)->nMuonSegments() << ", " << (*Muon_iter)->pt() << endl; + m_HLT_MuonEF_NSegments->Fill( float((*Muon_iter)->nMuonSegments()) ); + m_HLT_MuonEF_pt->Fill( (*Muon_iter)->pt() / 1000. ); + } + + + // MET + // HLT_xAOD__TrigMissingETContainer_TrigEFMissingET + const xAOD::TrigMissingETContainer* HLT_xAOD__TrigMissingETContainer_TrigEFMissingET = 0; + eventStore()->retrieve( HLT_xAOD__TrigMissingETContainer_TrigEFMissingET, "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET" ); + xAOD::TrigMissingETContainer::const_iterator TrigMissingET_iter; + cout << "Size of TrigMissingETContainer is " << HLT_xAOD__TrigMissingETContainer_TrigEFMissingET->size() << endl; + for(TrigMissingET_iter = HLT_xAOD__TrigMissingETContainer_TrigEFMissingET->begin(); TrigMissingET_iter != HLT_xAOD__TrigMissingETContainer_TrigEFMissingET->end(); ++TrigMissingET_iter) { + Double_t ex = (*TrigMissingET_iter)->ex(); + Double_t ey = (*TrigMissingET_iter)->ey(); + Double_t et = TMath::Sqrt(ex*ex + ey*ey); + cout << " missing et = " << et << endl; + m_HLT_TrigEFMissingET->Fill( et / 1000. ); + } + // HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_FEB + const xAOD::TrigMissingETContainer* HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_FEB = 0; + eventStore()->retrieve( HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_FEB, "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_FEB" ); + cout << "Size of TrigMissingETContainer is " << HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_FEB->size() << endl; + for(TrigMissingET_iter = HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_FEB->begin(); TrigMissingET_iter != HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_FEB->end(); ++TrigMissingET_iter) { + Double_t ex = (*TrigMissingET_iter)->ex(); + Double_t ey = (*TrigMissingET_iter)->ey(); + Double_t et = TMath::Sqrt(ex*ex + ey*ey); + cout << " missing et = " << et << endl; + m_HLT_TrigEFMissingET_FEB->Fill( et / 1000. ); + } + // HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl + const xAOD::TrigMissingETContainer* HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl = 0; + eventStore()->retrieve( HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl, "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl" ); + cout << "Size of TrigMissingETContainer is " << HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl->size() << endl; + for(TrigMissingET_iter = HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl->begin(); TrigMissingET_iter != HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl->end(); ++TrigMissingET_iter) { + Double_t ex = (*TrigMissingET_iter)->ex(); + Double_t ey = (*TrigMissingET_iter)->ey(); + Double_t et = TMath::Sqrt(ex*ex + ey*ey); + cout << " missing et = " << et << endl; + m_HLT_TrigEFMissingET_topocl->Fill( et / 1000. ); + } + + cout << " --- Event processing done --- \n" << endl; + } + + // Dump everything and return a status. + int Run1BStoxAODTrigger::finalize() + { + //athena doesn't store m_all_triggers without this + histFile->cd(); + + // Dump for debugging. + cout << "L1 triggers passed: " << _passed_l1 << endl; + cout << "EF triggers passed: " << _passed_hlt << endl; + cout << "START SUMMARY: Run1BStoxAODTrigger" << endl; + cout << "creating histogram with one bin per trigger, n of bins is " << trigger_counts.size() << endl; + m_all_triggers = new TH1F("all_triggers", ";Trigger;No. of events", trigger_counts.size(), 0.0, trigger_counts.size()); + cout << "histogram created" << endl; + int trigger_counter = 0; + for (auto it = trigger_counts.begin(); it!=trigger_counts.end(); it++) { + cout << (*it).first << "\t" << (*it).second <<endl; + trigger_counter++; + m_all_triggers->GetXaxis()->SetBinLabel( trigger_counter, ((*it).first).c_str() ); + m_all_triggers->SetBinContent( trigger_counter, (*it).second ); + } + cout << "END SUMMARY : Run1BStoxAODTrigger" << endl; + + histFile->Write(); + histFile->Close(); + + // our aim here is to test the conversion of variables + return 0; + } + +} diff --git a/Trigger/TrigValidation/TrigAnalysisTest/Root/TestFactory.cxx b/Trigger/TrigValidation/TrigAnalysisTest/Root/TestFactory.cxx index fb7bc1816e4ff7b38d377fb6022b8b5ba8ad7717..8f0604b8c03fab9507c8591e38e350fab134ad4b 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/Root/TestFactory.cxx +++ b/Trigger/TrigValidation/TrigAnalysisTest/Root/TestFactory.cxx @@ -9,6 +9,7 @@ #include "TrigAnalysisTest/TestFactory.h" #include "TrigAnalysisTest/BasicTriggerFired.h" +#include "TrigAnalysisTest/Run1BStoxAODTrigger.h" #include <stdexcept> #include <sstream> @@ -21,6 +22,8 @@ namespace TrigAnalysisTest { ITest *GetTrigAnalysisTest (const string &name) { if (name == "BasicTriggerFired") { return new BasicTriggerFired(); + } else if (name == "Run1BStoxAODTrigger") { + return new Run1BStoxAODTrigger(); } else { // If we are here, then we don't know what kind of test the framework // is asking for. So bomb. diff --git a/Trigger/TrigValidation/TrigAnalysisTest/Testing/TrigAnalysisTest.conf b/Trigger/TrigValidation/TrigAnalysisTest/Testing/TrigAnalysisTest.conf index a92fa6dbb611a0d38fe2281335248e9f1443eca3..6355ff0750bd8aed2bfd43a9327a162988fec290 100755 --- a/Trigger/TrigValidation/TrigAnalysisTest/Testing/TrigAnalysisTest.conf +++ b/Trigger/TrigValidation/TrigAnalysisTest/Testing/TrigAnalysisTest.conf @@ -192,7 +192,7 @@ test 18 joboptions testAthenaTrigRDOtoESDAOD.py checklog --config checklogTriggerTest.conf --showexcludestats pre_command RecExCommon_links.sh - athena_cmd athena.py -c 'menu="MC_pp_v5"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + athena_cmd athena.py -c 'menu="MC_pp_v6"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoESDAOD.reference # edmcheck diffPoolFiles.py AOD.pool.root /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoESDAOD_AOD.pool.root # edmcheck diffPoolFiles.py ESD.pool.root /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoESDAOD_ESD.pool.root @@ -209,7 +209,7 @@ test 19 joboptions testAthenaTrigRDOtoTAG.py checklog --config checklogTriggerTest.conf --showexcludestats pre_command RecExCommon_links.sh - athena_cmd athena.py -c 'menu="MC_pp_v5"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + athena_cmd athena.py -c 'menu="MC_pp_v6"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoTAG.reference rootcomp /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoTAG.root checkcount /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoTAG.root 1 @@ -268,7 +268,7 @@ test 24 doc runs trigger from RDO writes AOD, MC menu name AthenaTrigRDOtoAOD_MC joboptions testAthenaTrigRDOtoAOD.py - athena_cmd athena.py -c 'menu="MC_pp_v5"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + athena_cmd athena.py -c 'menu="MC_pp_v6"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' checklog --config checklogTriggerTest.conf --showexcludestats pre_command RecExCommon_links.sh #pre_command get_files -jo checkFileTrigSize_RTT.py @@ -333,7 +333,7 @@ test 28 name AthenaTrigRDOtoESDAOD_MC doc Basic, standard, RecExCommon-based, read-RDO, run-trigger job. Reco enabled, MC menu joboptions testAthenaTrigRDOtoESDAOD.py - athena_cmd athena.py -c 'menu="MC_pp_v5";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + athena_cmd athena.py -c 'menu="MC_pp_v6";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' checklog --config checklogTriggerTest.conf --showexcludestats pre_command RecExCommon_links.sh fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoESDAOD_MC.reference @@ -381,7 +381,7 @@ test 31 joboptions testAthenaTrigRDOtoAODSLIM.py checklog --config checklogTriggerTest.conf --showexcludestats pre_command RecExCommon_links.sh - athena_cmd athena.py -c 'menu="MC_pp_v5";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + athena_cmd athena.py -c 'menu="MC_pp_v6";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' regtest TrigSteer_HLT.TrigChainMoniValidation REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAODSLIM_HLT.TrigChainMoniValidation.reference # edmcheck diffPoolFiles.py AOD.pool.root /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoAOD_AODSLIM.pool.root post_command checkFile.py AOD.pool.root > AOD.pool.root.checkFile @@ -407,29 +407,29 @@ test 32 post_command checkxAOD.py AOD.pool.root > AOD.checkxAODFile.txt test 33 - doc runs trigger from RDO writes AOD, MC_pp_v5_loose_mc_prescales menu - name AthenaTrigRDOtoAOD_MC_pp_v5_loose_mc_prescales + doc runs trigger from RDO writes AOD, MC_pp_v6_loose_mc_prescales menu + name AthenaTrigRDOtoAOD_MC_pp_v6_loose_mc_prescales joboptions testAthenaTrigRDOtoAOD.py - athena_cmd athena.py -c 'menu="MC_pp_v5_loose_mc_prescales"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + athena_cmd athena.py -c 'menu="MC_pp_v6_loose_mc_prescales"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' checklog --config checklogTriggerTest.conf --showexcludestats pre_command RecExCommon_links.sh - fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v5_loose_mc_prescales.reference - regtest TrigSteer_HLT.TrigChainMoniValidation REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v5_loose_mc_prescales_HLT.TrigChainMoniValidation.reference -# edmcheck diffPoolFiles.py AOD.pool.root /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoAOD_AOD_MC_pp_v5_loose_mc_prescales.pool.root + fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v6_loose_mc_prescales.reference + regtest TrigSteer_HLT.TrigChainMoniValidation REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v6_loose_mc_prescales_HLT.TrigChainMoniValidation.reference +# edmcheck diffPoolFiles.py AOD.pool.root /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoAOD_AOD_MC_pp_v6_loose_mc_prescales.pool.root post_command checkFile.py AOD.pool.root > AOD.pool.root.checkFile post_command checkFileTrigSize_RTT.py >AODTrigsum.txt post_command checkxAOD.py AOD.pool.root > AOD.checkxAODFile.txt test 34 - doc runs trigger from RDO writes AOD, MC_pp_v5_tight_mc_prescales menu - name AthenaTrigRDOtoAOD_MC_pp_v5_tight_mc_prescales + doc runs trigger from RDO writes AOD, MC_pp_v6_tight_mc_prescales menu + name AthenaTrigRDOtoAOD_MC_pp_v6_tight_mc_prescales joboptions testAthenaTrigRDOtoAOD.py - athena_cmd athena.py -c 'menu="MC_pp_v5_tight_mc_prescales"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + athena_cmd athena.py -c 'menu="MC_pp_v6_tight_mc_prescales"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' checklog --config checklogTriggerTest.conf --showexcludestats pre_command RecExCommon_links.sh - fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v5_tight_mc_prescales.reference - regtest TrigSteer_HLT.TrigChainMoniValidation REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v5_tight_mc_prescales_HLT.TrigChainMoniValidation.reference -# edmcheck diffPoolFiles.py AOD.pool.root /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoAOD_AOD_MC_pp_v5_tight_mc_prescales.pool.root + fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v6_tight_mc_prescales.reference + regtest TrigSteer_HLT.TrigChainMoniValidation REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v6_tight_mc_prescales_HLT.TrigChainMoniValidation.reference +# edmcheck diffPoolFiles.py AOD.pool.root /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoAOD_AOD_MC_pp_v6_tight_mc_prescales.pool.root post_command checkFile.py AOD.pool.root > AOD.pool.root.checkFile post_command checkFileTrigSize_RTT.py >AODTrigsum.txt post_command checkxAOD.py AOD.pool.root > AOD.checkxAODFile.txt @@ -455,7 +455,7 @@ test 36 checklog --config checklogTriggerTest.conf --showexcludestats # compresslog pre_command RecExCommon_links.sh - athena_cmd athena.py -c 'menu="MC_pp_v5"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + athena_cmd athena.py -c 'menu="MC_pp_v6"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' post_command rm -f raw._0001.data fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoBS_MC.reference rootcomp /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoBS_MC.root @@ -563,6 +563,46 @@ test 45 post_command perl -i.clean -pe 's/^[\d:]+ //' log.RAWtoESD post_command perl -i.clean -pe 's/^[\d:]+ //' log.ESDtoAOD post_command perl -i.clean -pe 's/^[\d:]+ //' log.AODtoTAG - post_command export N_CONTAINERS=$(grep -o HLT_xAOD__ log_SG_AOD | wc -l); if [ $N_CONTAINERS -gt 0 ]; then echo "$N_CONTAINERS xAOD HLT containers found"; else echo "ERROR: no converted HLT xAOD containers found in the output root file. Please check whether the conversion was scheduled"; fi + post_test are_HLT_xAODs_found export N_CONTAINERS=$(grep -o HLT_xAOD__ log_SG_AOD | wc -l); if [ $N_CONTAINERS -gt 0 ]; then echo "$N_CONTAINERS xAOD HLT containers found"; else echo " ERROR no converted HLT xAOD containers found in the output root file. Please check whether the conversion was scheduled"; exit 1; fi + extra_failure_codes POST_TEST_BAD_EXIT checklog --config checklogTriggerTest.conf --showexcludestats +test 46 + name TrigHLT_Run1BStoxAOD_validation + doc Compare HLT variables converted from Run1 bytestream to xAOD in the output of the test TrigHLT_Run1BStoxAOD with their Run1 AOD equivalent + joboptions Run1BStoxAODTrigger_jobOptions.py + athena_cmd athena.py -c 'FileList=["../TrigHLT_Run1BStoxAOD/myAOD.pool.root"]' + post_command cp hist.root expert-monitoring.root + rootcomp /afs/cern.ch/user/o/okuprash/public/ATN_reference/ValidateTrigHLT_Run1BStoxAOD/q222_AOD_histograms.root + checklog --config checklogTriggerTest.conf --showexcludestats + +test 47 + doc runs trigger from RDO writes AOD, MC menu + name AthenaTrigRDOtoAOD_MC_pp_v6 + joboptions testAthenaTrigRDOtoAOD.py + athena_cmd athena.py -c 'menu="MC_pp_v6"; jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + checklog --config checklogTriggerTest.conf --showexcludestats + pre_command RecExCommon_links.sh + fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_pp_v6.reference + regtest TrigSteer_HLT.TrigChainMoniValidation REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoAOD_MC_HLT.TrigChainMoniValidation.reference + post_command checkFile.py AOD.pool.root > AOD.pool.root.checkFile + post_command checkFileTrigSize_RTT.py >AODTrigsum.txt + post_command checkxAOD.py AOD.pool.root > AOD.checkxAODFile.txt + rootcomp /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoAOD_MC_pp_v6.root + checkcount /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoAOD_MC_pp_v6.root 1 + post_command chainDump.py -n -S + +test 48 + name AthenaTrigRDOtoESDAOD_MC_pp_v6 + doc Basic, standard, RecExCommon-based, read-RDO, run-trigger job. Reco enabled, MC menu + joboptions testAthenaTrigRDOtoESDAOD.py + athena_cmd athena.py -c 'menu="MC_pp_v6";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(10); from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf;acf.FilesInput=["root://eosatlas//eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00/RDO.05062245._000001.pool.root.1"]' + checklog --config checklogTriggerTest.conf --showexcludestats + pre_command RecExCommon_links.sh + fullregtest REGTEST /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaRDOtoESDAOD_MC_pp_v6.reference + post_command checkFile.py ESD.pool.root > ESD.txt + post_command checkFile.py AOD.pool.root > AOD.txt + post_command checkxAOD.py AOD.pool.root > AOD.checkxAODFile.txt + rootcomp /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoESDAOD_MC_pp_v6.root + checkcount /afs/cern.ch/atlas/project/trigger/pesa-sw/validation/references/ATN/postrel20/latest/triganalysistest_AthenaTrigRDOtoESDAOD_MC_pp_v6.root 1 + post_command chainDump.py -n -S diff --git a/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/EventPtrDef.h b/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/EventPtrDef.h new file mode 100644 index 0000000000000000000000000000000000000000..e7da1227a7fe6d03fc5f37f6c1ac47256d41083f --- /dev/null +++ b/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/EventPtrDef.h @@ -0,0 +1,25 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TrigAnalysisTest_EVENTPTRDEF_H +#define TrigAnalysisTest_EVENTPTRDEF_H +/* This is a copy of TrigDecisionTool/EventPtrDef.h + * should be removed and taken from the original once the + * tag is propagated + */ + +namespace asg { + class SgTEvent; +} +class StoreGateSvc; + +#ifdef ASGTOOL_STANDALONE + typedef asg::SgTEvent* EventPtr_t; +#elif defined(ASGTOOL_ATHENA) + typedef StoreGateSvc* EventPtr_t; +#else +# error "Wrong environment configuration detected!" +#endif + +#endif diff --git a/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/ITest.h b/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/ITest.h index 031dad1292b707c640471f1d36fdae7271903b0a..0011d2097485773a2e2a00663b3b15d1eb12c704 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/ITest.h +++ b/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/ITest.h @@ -11,6 +11,7 @@ #define __ITest__ #include "TrigDecisionTool/TrigDecisionTool.h" +#include "TrigAnalysisTest/EventPtrDef.h" namespace TrigAnalysisTest { @@ -24,6 +25,10 @@ namespace TrigAnalysisTest { // Called at the end of the job - return 0 if the test passed. // Otherwise some non-zero integer. virtual int finalize() = 0; + inline void setEventStore(EventPtr_t store) { m_eventStore = store; } + inline EventPtr_t eventStore() { return m_eventStore; } + private: + EventPtr_t m_eventStore; }; } diff --git a/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/Run1BStoxAODTrigger.h b/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/Run1BStoxAODTrigger.h new file mode 100644 index 0000000000000000000000000000000000000000..2dca8dc5929371ddb20fe92fc7372bacf3767189 --- /dev/null +++ b/Trigger/TrigValidation/TrigAnalysisTest/TrigAnalysisTest/Run1BStoxAODTrigger.h @@ -0,0 +1,54 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// +// Test that fills histograms for some of HLT xAOD variables from Run 1 +// and stores them to a root file, for the comparison with the AOD reference +// +#ifndef __Run1BStoxAODTrigger__ +#define __Run1BStoxAODTrigger__ + +#include "TrigAnalysisTest/ITest.h" + +//forward declarations +class TH1; +class TFile; + +namespace TrigAnalysisTest { + + class Run1BStoxAODTrigger : public ITest { + public: + Run1BStoxAODTrigger(); + + void processEvent(Trig::TrigDecisionTool &trigDecTool); + int finalize(); + + private: + unsigned int _passed_l1; + unsigned int _passed_hlt; + bool _first_call; + std::map<std::string,int> trigger_counts; + + TFile *histFile; + // histograms + // count all fired triggers + TH1* m_all_triggers; + // bphys + TH1* m_HLT_EFBMuMuXFex_eta; + TH1* m_HLT_EFBMuMuXFex_mass; + // taus + TH1* m_HLT_TrigTauJet; + // muons + TH1* m_HLT_MuonEF_NSegments; + TH1* m_HLT_MuonEF_pt; + // MET + TH1* m_HLT_TrigEFMissingET; + TH1* m_HLT_TrigEFMissingET_FEB; + TH1* m_HLT_TrigEFMissingET_topocl; + + }; + +} + +#endif diff --git a/Trigger/TrigValidation/TrigAnalysisTest/cmt/Makefile.RootCore b/Trigger/TrigValidation/TrigAnalysisTest/cmt/Makefile.RootCore index a4b7d7940114190856bed104ec2d9ee89641a4f1..6ff70536c134a6879da4058beb60acd6d9f31d17 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/cmt/Makefile.RootCore +++ b/Trigger/TrigValidation/TrigAnalysisTest/cmt/Makefile.RootCore @@ -28,7 +28,7 @@ PACKAGE_BINFLAGS = PACKAGE_LIBFLAGS = # the list of packages we depend on: -PACKAGE_DEP = xAODRootAccess TrigConfxAOD TrigDecisionTool +PACKAGE_DEP = xAODRootAccess TrigConfxAOD TrigDecisionTool xAODTrigMissingET xAODJet xAODTrigBphys xAODMuon # the list of packages we use if present, but that we can work without : PACKAGE_TRYDEP = diff --git a/Trigger/TrigValidation/TrigAnalysisTest/cmt/requirements b/Trigger/TrigValidation/TrigAnalysisTest/cmt/requirements index e635e68dafa57c3aff9b0c9858c294c893bfe19b..d9e6778bad7a505e0fd4535163d4839ef360bb15 100755 --- a/Trigger/TrigValidation/TrigAnalysisTest/cmt/requirements +++ b/Trigger/TrigValidation/TrigAnalysisTest/cmt/requirements @@ -14,13 +14,13 @@ author Ricardo Goncalo <r.goncalo@rhul.ac.uk> public use AtlasPolicy AtlasPolicy-* #try if we can use AtlasTriggerRunTime instead of AtlasAnalysisRunTime -use AtlasTriggerRunTime AtlasTriggerRunTime-* -#use AtlasAnalysisRunTime AtlasAnalysisRunTime-* -#use RunTimeTester RunTimeTester-* Tools -use TestPolicy TestPolicy-* -use AthenaBaseComps AthenaBaseComps-* Control -use GaudiInterface GaudiInterface-* External -use TrigDecisionTool TrigDecisionTool-* Trigger/TrigAnalysis +use AtlasTriggerRunTime AtlasTriggerRunTime-* +#use AtlasAnalysisRunTime AtlasAnalysisRunTime-* +#use RunTimeTester RunTimeTester-* Tools +use TestPolicy TestPolicy-* +use AthenaBaseComps AthenaBaseComps-* Control +use GaudiInterface GaudiInterface-* External +use TrigDecisionTool TrigDecisionTool-* Trigger/TrigAnalysis apply_pattern declare_python_modules files="../python/__init__.py ../python/PassedTriggerFilter.py" @@ -43,10 +43,14 @@ apply_pattern declare_runtime extras="../test/*.xml \ ../bin/checkFileTrigSize_RTT.py" #No wildcard, want to avoid RootCoreTestHarness.cxx in cmt -apply_pattern dual_use_library files="../Root/BasicTriggerFired.cxx ../Root/TestFactory.cxx ../src/*.cxx" +apply_pattern dual_use_library files="../Root/BasicTriggerFired.cxx ../Root/Run1BStoxAODTrigger.cxx ../Root/TestFactory.cxx ../src/*.cxx" macro TrigAnalysisTest_TestConfiguration "../test/TrigAnalysisTest_TestConfiguration.xml" AthAnalysisBase "../test/TrigAnalysisTest_AthAnalysisBaseTestConfiguration.xml" private apply_pattern validate_xml use AtlasROOT AtlasROOT-* External -use TrigConfxAOD TrigConfxAOD-* Trigger/TrigConfiguration +use TrigConfxAOD TrigConfxAOD-* Trigger/TrigConfiguration +use xAODTrigMissingET xAODTrigMissingET-* Event/xAOD +use xAODMuon xAODMuon-* Event/xAOD +use xAODJet xAODJet-* Event/xAOD +use xAODTrigBphys xAODTrigBphys-* Event/xAOD diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/Run1BStoxAODTrigger_jobOptions.py b/Trigger/TrigValidation/TrigAnalysisTest/share/Run1BStoxAODTrigger_jobOptions.py new file mode 100644 index 0000000000000000000000000000000000000000..8325a2d96410e2698beaab8ceacd4565e090ea41 --- /dev/null +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/Run1BStoxAODTrigger_jobOptions.py @@ -0,0 +1,57 @@ +from RecExConfig.RecFlags import rec +from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf + +rec.readAOD=True + +# different input files for ATN and RTT tests +if not acf.EvtMax.is_locked(): + acf.EvtMax=2000 +if not ('OutputLevel' in dir()): + rec.OutputLevel=INFO + +if not ('FileList' in dir()): + acf.FilesInput = ["/afs/cern.ch/work/o/okuprash/public/AtlasAnalysis.20.7.X-VALrel2_24.11.2015/Trigger/TrigValidation/TrigAnalysisTest/Testing/TrigHLT_Run1BStoxAOD/myAOD.pool.root"] +else: + acf.FilesInput = FileList + +############################### + +rec.doCBNT=False +rec.doTrigger=True +rec.doWriteAOD=False +rec.doWriteESD=False +rec.doWriteTAG=False +rec.doAOD=False +rec.doDPD=False +rec.doESD=False + +from RecExConfig.RecAlgsFlags import recAlgs +recAlgs.doTrigger=True +from TriggerJobOpts.TriggerFlags import TriggerFlags +TriggerFlags.doTriggerConfigOnly=True + +doTAG=False + +#----------------------------------------------------------- +include("RecExCommon/RecExCommon_topOptions.py") +#----------------------------------------------------------- + +# abort when there is an unchecked status code +StatusCodeSvc.AbortOnError=False + +from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool +ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" ) + +from TrigEDMConfig.TriggerEDM import EDMLibraries +ToolSvc.TrigDecisionTool.Navigation.Dlls = EDMLibraries + +#from TriggerMatchingTool.TriggerMatchingToolConf import MatchingTool +#ToolSvc += MatchingTool("MatchingTool") +#ToolSvc.MatchingTool.OutputLevel = VERBOSE + +from AthenaCommon.AlgSequence import AlgSequence +topSequence = AlgSequence() + +topSequence += CfgMgr.AthenaTestHarness("Run1BStoxAODTrigger") + +include("TriggerTest/TriggerTestCommon.py") diff --git a/Trigger/TrigValidation/TrigAnalysisTest/src/AthenaTestHarness.cxx b/Trigger/TrigValidation/TrigAnalysisTest/src/AthenaTestHarness.cxx index 4dd14a3e68634f3b8b3aee45005d26367ba8e6db..45da0bd3dd613742ee7fd3a005a40ac7b3a8194b 100755 --- a/Trigger/TrigValidation/TrigAnalysisTest/src/AthenaTestHarness.cxx +++ b/Trigger/TrigValidation/TrigAnalysisTest/src/AthenaTestHarness.cxx @@ -37,6 +37,8 @@ StatusCode AthenaTestHarness::initialize() msg(MSG::ERROR) << "Could not retrieve the test: "<< m_test_name << endreq; return StatusCode::FAILURE; } + + m_test->setEventStore( evtStore().operator->() ); // explicitly call the arrow operator msg(MSG::INFO) << "Initialization successful" << endreq; diff --git a/Trigger/TrigValidation/TrigAnalysisTest/test/TrigAnalysisTest_TestConfiguration.xml b/Trigger/TrigValidation/TrigAnalysisTest/test/TrigAnalysisTest_TestConfiguration.xml index a2d3dac8dbe0a16f431b559e5f745646f1928966..cb5062d2d00617c6cf70acf3f2c0ad59939cfe11 100755 --- a/Trigger/TrigValidation/TrigAnalysisTest/test/TrigAnalysisTest_TestConfiguration.xml +++ b/Trigger/TrigValidation/TrigAnalysisTest/test/TrigAnalysisTest_TestConfiguration.xml @@ -221,19 +221,31 @@ </expectations> </TEST> - <TEST name="PhysValMonitoring" type="script" suite="tat_MC_Slim"> - <options_atn>trigtest.pl --test PhysValMonitoring --run PhysValMonitoring --conf TrigAnalysisTest.conf</options_atn> - <timelimit>60</timelimit> + <!--TEST name="PhysValMonitoring" type="script" suite="tat_MC_Slim"> + <options_atn>trigtest.pl - -test PhysValMonitoring - -run PhysValMonitoring - -conf TrigAnalysisTest.conf</options_atn> + <timelimit>60</timelimit> + <author>TrigAnalysis validation</author> + <project_exclude>AthAnalysisBase</project_exclude> + <expectations> + <errorMessage>FAILURE </errorMessage> + <returnValue>0</returnValue> + </expectations> + </TEST--> + + <TEST name= "TrigHLT_Run1BStoxAOD" type="script" suite="tat_BackComp"> + <options_atn>trigtest.pl --test TrigHLT_Run1BStoxAOD --run TrigHLT_Run1BStoxAOD --conf TrigAnalysisTest.conf</options_atn> + <timelimit>45</timelimit> <author>TrigAnalysis validation</author> + <mailto> oleg.kuprash@cern.ch </mailto> <project_exclude>AthAnalysisBase</project_exclude> <expectations> <errorMessage>FAILURE </errorMessage> <returnValue>0</returnValue> </expectations> - </TEST> + </TEST> - <TEST name= "TrigHLT_Run1BStoxAOD" type="script" suite="tat_BackComp"> - <options_atn>trigtest.pl --test TrigHLT_Run1BStoxAOD --run TrigHLT_Run1BStoxAOD --conf TrigAnalysisTest.conf</options_atn> + <TEST name= "TrigHLT_Run1BStoxAOD_validation" type="script" suite="tat_BackComp"> + <options_atn>trigtest.pl --test TrigHLT_Run1BStoxAOD_validation --run TrigHLT_Run1BStoxAOD_validation --conf TrigAnalysisTest.conf</options_atn> <timelimit>45</timelimit> <author>TrigAnalysis validation</author> <mailto> oleg.kuprash@cern.ch </mailto> @@ -245,6 +257,29 @@ </TEST> + <TEST name= "AthenaTrigRDOtoAOD_MC_pp_v6" type="script" suite="tat_MC_v6"> + <options_atn>trigtest.pl --test AthenaTrigRDOtoAOD_MC_pp_v6 --run AthenaTrigRDOtoAOD_MC_pp_v6 --conf TrigAnalysisTest.conf</options_atn> + <timelimit>30</timelimit> + <author>TrigAnalysis validation</author> + <project_exclude>AthAnalysisBase</project_exclude> + <expectations> + <errorMessage>FAILURE </errorMessage> + <returnValue>0</returnValue> + </expectations> + </TEST> + + <TEST name= "AthenaTrigRDOtoESDAOD_MC_pp_v6" type="script" suite="tat_MC_v6"> + <options_atn>trigtest.pl --test AthenaTrigRDOtoESDAOD_MC_pp_v6 --run AthenaTrigRDOtoESDAOD_MC_pp_v6 --conf TrigAnalysisTest.conf</options_atn> + <timelimit>30</timelimit> + <author>TrigAnalysis validation</author> + <project_exclude>AthAnalysisBase</project_exclude> + <expectations> + <errorMessage>FAILURE </errorMessage> + <returnValue>0</returnValue> + </expectations> + </TEST> + + <!-- the following one complains about WARNING Job options file for TrigIDtrk (PhysValMonitoring/PhysValTrigIDtrk_jobOptions.py) was not found in JOBOPTSEARCHPATH! for all the Trig* JOs --> <!--TEST name="PhysValMonitoringDataESD" type="script" suite="tat_PhysVal"> @@ -408,6 +443,7 @@ <prerequisite>tat_MC_Slim</prerequisite> <!--prerequisite>tat_PhysVal</prerequisite--> <project_exclude>AthAnalysisBase</project_exclude> + <project_exclude>tat_MC_v6</project_exclude> <expectations> <returnValue>0</returnValue> </expectations> @@ -457,13 +493,13 @@ <displayComponent>Trig-Common</displayComponent> </classification> - <jobTransform userJobId="LeakCheck_MC_pp_v5" > + <jobTransform userJobId="LeakCheck_MC_pp_v6" > <doc> - LeakCheck MC_pp_v5 menu top 100 events + LeakCheck MC_pp_v6 menu top 100 events </doc> - <jobTransformJobName>LeakCheck_MC_pp_v5</jobTransformJobName> + <jobTransformJobName>LeakCheck_MC_pp_v6</jobTransformJobName> <jobTransformCmd> - export LD_PRELOAD=/afs/cern.ch/sw/lcg/external/libunwind/5c2cade/x86_64-slc6-gcc49-opt/lib/libunwind.so ; athena.py --stdcmalloc --leak-check-execute -c 'RunningRTT=TRUE;menu="MC_pp_v5";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName="/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00";fileRange=[1,4]' TrigAnalysisTest/testAthenaTrigRDOtoAOD.py + export LD_PRELOAD=/afs/cern.ch/sw/lcg/external/libunwind/5c2cade/x86_64-slc6-gcc49-opt/lib/libunwind.so ; athena.py --stdcmalloc --leak-check-execute -c 'RunningRTT=TRUE;menu="MC_pp_v6";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName="/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00";fileRange=[1,4]' TrigAnalysisTest/testAthenaTrigRDOtoAOD.py </jobTransformCmd> <group>TrigAnalysisTestIOTests</group> <queue>long</queue> @@ -482,14 +518,15 @@ <queue>long</queue> <alwaysRunPostProc /> </jobTransform> + - <jobTransform userJobId="Valgrind_RDOtoAOD_MC_pp_v5" > + <jobTransform userJobId="Valgrind_RDOtoAOD_MC_pp_v6" > <doc> - Valgrind on RDOtoAOD MC_pp_v5 menu top events + Valgrind on RDOtoAOD MC_pp_v6 menu top events </doc> - <jobTransformJobName>Valgrind_RDOtoAOD_MC_pp_v5</jobTransformJobName> + <jobTransformJobName>Valgrind_RDOtoAOD_MC_pp_v6</jobTransformJobName> <jobTransformCmd> - cp $ROOTSYS/etc/valgrind-root.supp ./ ; get_files newSuppressions.supp; get_files oracleDB.supp; get_files root.supp; get_files valgrindRTT.supp; get_files Gaudi.supp; get_files valgrind-python.supp ; valgrind --suppressions=valgrind-root.supp --track-origins=yes --trace-children=yes --suppressions=newSuppressions.supp --suppressions=oracleDB.supp --suppressions=root.supp --suppressions=valgrindRTT.supp --suppressions=Gaudi.supp --suppressions=valgrind-python.supp --suppressions=/afs/cern.ch/user/k/krasznaa/public/valgrind/pythonJobO.supp --suppressions=/afs/cern.ch/user/k/krasznaa/public/valgrind/reflexPyROOT.supp --error-limit=no --leak-check=yes --num-callers=30 `which athena.py` --stdcmalloc -c 'RunningRTT=TRUE;menu="MC_pp_v5";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(3);jp.Rec.doDetailedPerfMon.set_Value_and_Lock( False ) ; jp.Rec.doSemiDetailedPerfMon.set_Value_and_Lock( False ); from PerfMonComps.PerfMonFlags import jobproperties ; jobproperties.PerfMonFlags.doMonitoring.set_Value_and_Lock( False ) ; jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName="/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00";fileRange=[1,4]' TrigAnalysisTest/testAthenaTrigRDOtoAOD.py 2>&1 | sed -e '/ definitely lost: / { N; d; }' | tee Valgrind_test_log_1 ; cp /afs/cern.ch/user/c/czodrows/public/ValgrindAnalysisScript_TriggerTest.py ./ ; python ValgrindAnalysisScript_TriggerTest.py ; mv Valgrind_test_log_1 Valgrind_test_log + cp $ROOTSYS/etc/valgrind-root.supp ./ ; get_files newSuppressions.supp; get_files oracleDB.supp; get_files root.supp; get_files valgrindRTT.supp; get_files Gaudi.supp; get_files valgrind-python.supp ; valgrind --suppressions=valgrind-root.supp --track-origins=yes --trace-children=yes --suppressions=newSuppressions.supp --suppressions=oracleDB.supp --suppressions=root.supp --suppressions=valgrindRTT.supp --suppressions=Gaudi.supp --suppressions=valgrind-python.supp --suppressions=/afs/cern.ch/user/k/krasznaa/public/valgrind/pythonJobO.supp --suppressions=/afs/cern.ch/user/k/krasznaa/public/valgrind/reflexPyROOT.supp --error-limit=no --leak-check=yes --num-callers=30 `which athena.py` --stdcmalloc -c 'RunningRTT=TRUE;menu="MC_pp_v6";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(3);jp.Rec.doDetailedPerfMon.set_Value_and_Lock( False ) ; jp.Rec.doSemiDetailedPerfMon.set_Value_and_Lock( False ); from PerfMonComps.PerfMonFlags import jobproperties ; jobproperties.PerfMonFlags.doMonitoring.set_Value_and_Lock( False ) ; jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName="/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00";fileRange=[1,4]' TrigAnalysisTest/testAthenaTrigRDOtoAOD.py 2>&1 | sed -e '/ definitely lost: / { N; d; }' | tee Valgrind_test_log_1 ; cp /afs/cern.ch/user/c/czodrows/public/ValgrindAnalysisScript_TriggerTest.py ./ ; python ValgrindAnalysisScript_TriggerTest.py ; mv Valgrind_test_log_1 Valgrind_test_log </jobTransformCmd> <group>TrigAnalysisTestIOTests</group> <queue>long</queue> @@ -528,13 +565,13 @@ - <jobTransform userJobId="Valgrind_RDOtoESDAOD_MC_pp_v5" > + <jobTransform userJobId="Valgrind_RDOtoESDAOD_MC_pp_v6" > <doc> - Valgrind on RDOtoESDAOD MC_pp_v5 menu top events + Valgrind on RDOtoESDAOD MC_pp_v6 menu top events </doc> - <jobTransformJobName>Valgrind_RDOtoESDAOD_MC_pp_v5</jobTransformJobName> + <jobTransformJobName>Valgrind_RDOtoESDAOD_MC_pp_v6</jobTransformJobName> <jobTransformCmd> - cp $ROOTSYS/etc/valgrind-root.supp ./ ; get_files newSuppressions.supp; get_files oracleDB.supp; get_files root.supp; get_files valgrindRTT.supp; get_files Gaudi.supp; get_files valgrind-python.supp ; valgrind --suppressions=valgrind-root.supp --track-origins=yes --trace-children=yes --suppressions=newSuppressions.supp --suppressions=oracleDB.supp --suppressions=root.supp --suppressions=valgrindRTT.supp --suppressions=Gaudi.supp --suppressions=valgrind-python.supp --suppressions=/afs/cern.ch/user/k/krasznaa/public/valgrind/pythonJobO.supp --suppressions=/afs/cern.ch/user/k/krasznaa/public/valgrind/reflexPyROOT.supp --error-limit=no --leak-check=yes --num-callers=30 `which athena.py` --stdcmalloc -c 'RunningRTT=TRUE;menu="MC_pp_v5";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(3);jp.Rec.doDetailedPerfMon.set_Value_and_Lock( False ) ; jp.Rec.doSemiDetailedPerfMon.set_Value_and_Lock( False ); from PerfMonComps.PerfMonFlags import jobproperties ; jobproperties.PerfMonFlags.doMonitoring.set_Value_and_Lock( False ) ; jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName="/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00";fileRange=[1,4]' TrigAnalysisTest/testAthenaTrigRDOtoESDAOD.py 2>&1 | sed -e '/ definitely lost: / { N; d; }' | tee Valgrind_test_log_1 ; cp /afs/cern.ch/user/c/czodrows/public/ValgrindAnalysisScript_TriggerTest.py ./ ; python ValgrindAnalysisScript_TriggerTest.py ; mv Valgrind_test_log_1 Valgrind_test_log + cp $ROOTSYS/etc/valgrind-root.supp ./ ; get_files newSuppressions.supp; get_files oracleDB.supp; get_files root.supp; get_files valgrindRTT.supp; get_files Gaudi.supp; get_files valgrind-python.supp ; valgrind --suppressions=valgrind-root.supp --track-origins=yes --trace-children=yes --suppressions=newSuppressions.supp --suppressions=oracleDB.supp --suppressions=root.supp --suppressions=valgrindRTT.supp --suppressions=Gaudi.supp --suppressions=valgrind-python.supp --suppressions=/afs/cern.ch/user/k/krasznaa/public/valgrind/pythonJobO.supp --suppressions=/afs/cern.ch/user/k/krasznaa/public/valgrind/reflexPyROOT.supp --error-limit=no --leak-check=yes --num-callers=30 `which athena.py` --stdcmalloc -c 'RunningRTT=TRUE;menu="MC_pp_v6";jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(3);jp.Rec.doDetailedPerfMon.set_Value_and_Lock( False ) ; jp.Rec.doSemiDetailedPerfMon.set_Value_and_Lock( False ); from PerfMonComps.PerfMonFlags import jobproperties ; jobproperties.PerfMonFlags.doMonitoring.set_Value_and_Lock( False ) ; jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName="/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00";fileRange=[1,4]' TrigAnalysisTest/testAthenaTrigRDOtoESDAOD.py 2>&1 | sed -e '/ definitely lost: / { N; d; }' | tee Valgrind_test_log_1 ; cp /afs/cern.ch/user/c/czodrows/public/ValgrindAnalysisScript_TriggerTest.py ./ ; python ValgrindAnalysisScript_TriggerTest.py ; mv Valgrind_test_log_1 Valgrind_test_log </jobTransformCmd> <group>TrigAnalysisTestIOTests</group> <queue>long</queue> @@ -549,6 +586,8 @@ <alwaysRunPostProc /> </jobTransform> + + <jobTransform userJobId="Valgrind_RDOtoESDAOD_Physics_pp_v5" > <doc> Valgrind on RDOtoESDAOD Physics_pp_v5 menu top events @@ -588,11 +627,11 @@ <athena userJobId="RDOtoAOD_MC" doMonitoring="True"> <doc> - Menu: MC_pp_v5 Sample: top - produces AOD 100 events + Menu: MC_pp_v6 Sample: top - produces AOD 100 events </doc> <displayName>RDOtoAOD_MC</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoAOD.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -603,11 +642,11 @@ <athena userJobId="RDOtoESDAOD_MC" doMonitoring="True"> <doc> - Menu: MC_pp_v5 Sample: top - produces AOD and ESD 100 events + Menu: MC_pp_v6 Sample: top - produces AOD and ESD 100 events </doc> <displayName>RDOtoESDAOD_MC</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoESDAOD.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -615,6 +654,7 @@ <queue>long</queue> <alwaysRunPostProc /> </athena> + <athena userJobId="RDOtoESDAOD_Physics" doMonitoring="True"> <doc> Menu: Physics_pp_v5 Sample: top - produces AOD and ESD 100 events @@ -631,16 +671,16 @@ </athena> <chain> - <chainName>AthenaTrigAOD_TrigEDMandTDTCheck_MC_pp_v5_chain</chainName> + <chainName>AthenaTrigAOD_TrigEDMandTDTCheck_MC_pp_v6_chain</chainName> <abortOnError /> <sequential> <chainElement> - <athena userJobId="RDOtoAOD_MC_pp_v5" doMonitoring="True"> - <doc> Menu: MC_pp_v5 Sample: top - produces AOD 100 events</doc> - <displayName>RDOtoAOD_MC_pp_v5</displayName> + <athena userJobId="RDOtoAOD_MC_pp_v6" doMonitoring="True"> + <doc> Menu: MC_pp_v6 Sample: top - produces AOD 100 events</doc> + <displayName>RDOtoAOD_MC_pp_v6</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoAOD.py</options> <group>TrigAnalysisTestIOTests</group> @@ -655,9 +695,9 @@ <parallel> <chainElement> - <athena userJobId="AOD_TrigEDMCheck_MC_pp_v5"> - <doc> AthenaTrigAOD_TrigEDMCheck on Menu: MC_pp_v5 Sample: top AOD from RDO</doc> - <displayName>AthenaTrigAOD_TrigEDMCheck_MC_pp_v5</displayName> + <athena userJobId="AOD_TrigEDMCheck_MC_pp_v6"> + <doc> AthenaTrigAOD_TrigEDMCheck on Menu: MC_pp_v6 Sample: top AOD from RDO</doc> + <displayName>AthenaTrigAOD_TrigEDMCheck_MC_pp_v6</displayName> <commandLineFlags>RunningRTT=TRUE;jp.AthenaCommonFlags.PoolAODInput=["AOD.pool.root"]</commandLineFlags> <options>testAthenaTrigAOD_TrigEDMCheck.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -684,9 +724,9 @@ </chainElement> <chainElement> - <athena userJobId="AOD_TrigDecTool_MC_pp_v5"> - <doc> AthenaTrigAOD_TrigDecTool on Menu: MC_pp_v5 Sample: top AOD from RDO</doc> - <displayName>AthenaTrigAOD_TrigDecTool_MC_pp_v5</displayName> + <athena userJobId="AOD_TrigDecTool_MC_pp_v6"> + <doc> AthenaTrigAOD_TrigDecTool on Menu: MC_pp_v6 Sample: top AOD from RDO</doc> + <displayName>AthenaTrigAOD_TrigDecTool_MC_pp_v6</displayName> <commandLineFlags>RunningRTT=TRUE;jp.AthenaCommonFlags.PoolAODInput=["AOD.pool.root"]</commandLineFlags> <options>testAthenaTrigAOD_TrigDecTool.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -717,16 +757,16 @@ </chain> <chain> - <chainName>AthenaTrigESDAOD_Perf_and_HLTMons_MC_pp_v5_chain</chainName> + <chainName>AthenaTrigESDAOD_Perf_and_HLTMons_MC_pp_v6_chain</chainName> <abortOnError /> <sequential> <chainElement> - <athena userJobId="RDOtoESD_MC_pp_v5" doMonitoring="True"> - <doc> Menu: MC_pp_v5 Sample: top - produces AOD 100 events</doc> - <displayName>RDOtoAOD_MC_pp_v5</displayName> + <athena userJobId="RDOtoESD_MC_pp_v6" doMonitoring="True"> + <doc> Menu: MC_pp_v6 Sample: top - produces AOD 100 events</doc> + <displayName>RDOtoAOD_MC_pp_v6</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoAOD.py</options> <group>TrigAnalysisTestIOTests</group> @@ -741,11 +781,11 @@ <sequential> <chainElement> - <athena userJobId="ESDtoAOD_MC_pp_v5" doMonitoring="True"> - <doc> Menu: MC_pp_v5 Sample: top - produces AOD 100 events</doc> - <displayName>RDOtoAOD_MC_pp_v5</displayName> + <athena userJobId="ESDtoAOD_MC_pp_v6" doMonitoring="True"> + <doc> Menu: MC_pp_v6 Sample: top - produces AOD 100 events</doc> + <displayName>RDOtoAOD_MC_pp_v6</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoAOD.py</options> <group>TrigAnalysisTestIOTests</group> @@ -759,8 +799,8 @@ <chainElement> <athena userJobId="HLTMon"> - <doc> AthenaTrigAOD_TrigEDMCheck on Menu: MC_pp_v5 Sample: top AOD from RDO</doc> - <displayName>AthenaTrigAOD_TrigEDMCheck_MC_pp_v5</displayName> + <doc> AthenaTrigAOD_TrigEDMCheck on Menu: MC_pp_v6 Sample: top AOD from RDO</doc> + <displayName>AthenaTrigAOD_TrigEDMCheck_MC_pp_v6</displayName> <commandLineFlags>RunningRTT=TRUE;jp.AthenaCommonFlags.PoolAODInput=["AOD.pool.root"]</commandLineFlags> <options>testAthenaTrigAOD_TrigEDMCheck.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -789,8 +829,8 @@ <chainElement> <athena userJobId="PhysValMon_ESD"> - <doc> AthenaTrigAOD_TrigDecTool on Menu: MC_pp_v5 Sample: top AOD from RDO</doc> - <displayName>AthenaTrigAOD_TrigDecTool_MC_pp_v5</displayName> + <doc> AthenaTrigAOD_TrigDecTool on Menu: MC_pp_v6 Sample: top AOD from RDO</doc> + <displayName>AthenaTrigAOD_TrigDecTool_MC_pp_v6</displayName> <commandLineFlags>RunningRTT=TRUE;jp.AthenaCommonFlags.PoolAODInput=["AOD.pool.root"]</commandLineFlags> <options>testAthenaTrigAOD_TrigDecTool.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -820,8 +860,8 @@ <chainElement> <athena userJobId="PhysValMon_xAOD"> - <doc> AthenaTrigAOD_TrigDecTool on Menu: MC_pp_v5 Sample: top AOD from RDO</doc> - <displayName>AthenaTrigAOD_TrigDecTool_MC_pp_v5</displayName> + <doc> AthenaTrigAOD_TrigDecTool on Menu: MC_pp_v6 Sample: top AOD from RDO</doc> + <displayName>AthenaTrigAOD_TrigDecTool_MC_pp_v6</displayName> <commandLineFlags>RunningRTT=TRUE;jp.AthenaCommonFlags.PoolAODInput=["AOD.pool.root"]</commandLineFlags> <options>testAthenaTrigAOD_TrigDecTool.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -854,13 +894,13 @@ - <athena userJobId="RDOtoAOD_MC_pp_v5_loose_mc_prescale" doMonitoring="True"> + <athena userJobId="RDOtoAOD_MC_pp_v6_loose_mc_prescale" doMonitoring="True"> <doc> - Menu: MC_pp_v5_loose_mc_prescale Sample: top - produces AOD 100 events + Menu: MC_pp_v6_loose_mc_prescale Sample: top - produces AOD 100 events </doc> - <displayName>RDOtoAOD_MC_pp_v5_loose_mc_prescale</displayName> + <displayName>RDOtoAOD_MC_pp_v6_loose_mc_prescale</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5_loose_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6_loose_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoAOD.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -869,13 +909,13 @@ <alwaysRunPostProc /> </athena> - <athena userJobId="RDOtoAOD_MC_pp_v5_tight_mc_prescale" doMonitoring="True"> + <athena userJobId="RDOtoAOD_MC_pp_v6_tight_mc_prescale" doMonitoring="True"> <doc> - Menu: MC_pp_v5_tight_mc_prescale Sample: top - produces AOD 100 events + Menu: MC_pp_v6_tight_mc_prescale Sample: top - produces AOD 100 events </doc> - <displayName>RDOtoAOD_MC_pp_v5_tight_mc_prescale</displayName> + <displayName>RDOtoAOD_MC_pp_v6_tight_mc_prescale</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5_tight_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6_tight_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoAOD.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -885,13 +925,13 @@ </athena> - <athena userJobId="RDOtoAOD_MC_pp_v5_1000" doMonitoring="True"> + <athena userJobId="RDOtoAOD_MC_pp_v6_1000" doMonitoring="True"> <doc> - Menu: RDOtoAOD_MC_pp_v5 Sample: top - produces AOD 1000 events + Menu: RDOtoAOD_MC_pp_v6 Sample: top - produces AOD 1000 events </doc> - <displayName>RDOtoAOD_MC_pp_v5_1000</displayName> + <displayName>RDOtoAOD_MC_pp_v6_1000</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(1000);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(1000);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoAOD.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -900,13 +940,13 @@ <alwaysRunPostProc /> </athena> - <athena userJobId="RDOtoAOD_MC_pp_v5_bphysics_1000" doMonitoring="True"> + <athena userJobId="RDOtoAOD_MC_pp_v6_bphysics_1000" doMonitoring="True"> <doc> - Menu: RDOtoAOD_MC_pp_v5 Sample: bphysics - produces AOD 1000 events + Menu: RDOtoAOD_MC_pp_v6 Sample: bphysics - produces AOD 1000 events </doc> - <displayName>RDOtoAOD_MC_pp_v5_bphysics_1000</displayName> + <displayName>RDOtoAOD_MC_pp_v6_bphysics_1000</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(1000);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/user.tursom.mc12_14TeV.208410.Pythia8B_AU2_CTEQ6L1_Bs_Jpsimu6mu6_phi_KK.recon.v6_EXT0';fileRange=[1,20] + RunningRTT=TRUE;menu='MC_pp_v6';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(1000);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/user.tursom.mc12_14TeV.208410.Pythia8B_AU2_CTEQ6L1_Bs_Jpsimu6mu6_phi_KK.recon.v6_EXT0';fileRange=[1,20] </commandLineFlags> <options>testAthenaTrigRDOtoAOD.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -916,13 +956,13 @@ </athena> - <athena userJobId="RDOtoAODSLIM_MC_pp_v5_tight_mc_prescale" doMonitoring="True"> + <athena userJobId="RDOtoAODSLIM_MC_pp_v6_tight_mc_prescale" doMonitoring="True"> <doc> - Menu: MC_pp_v5_tight_mc_prescale Sample: top - produces AODSLIM 100 events + Menu: MC_pp_v6_tight_mc_prescale Sample: top - produces AODSLIM 100 events </doc> - <displayName>RDOtoAODSLIM_MC_pp_v5_tight_mc_prescale</displayName> + <displayName>RDOtoAODSLIM_MC_pp_v6_tight_mc_prescale</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5_tight_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6_tight_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoAODSLIM.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -931,13 +971,13 @@ <alwaysRunPostProc /> </athena> - <athena userJobId="RDOtoESDAOD_MC_pp_v5_loose_mc_prescale" doMonitoring="True"> + <athena userJobId="RDOtoESDAOD_MC_pp_v6_loose_mc_prescale" doMonitoring="True"> <doc> - Menu: MC_pp_v5_loose_mc_prescale Sample: top - produces AOD and ESD 100 events + Menu: MC_pp_v6_loose_mc_prescale Sample: top - produces AOD and ESD 100 events </doc> - <displayName>RDOtoESDAOD_MC_pp_v5_loose_mc_prescale</displayName> + <displayName>RDOtoESDAOD_MC_pp_v6_loose_mc_prescale</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5_loose_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6_loose_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoESDAOD.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> @@ -946,13 +986,13 @@ <alwaysRunPostProc /> </athena> - <athena userJobId="RDOtoESDAOD_MC_pp_v5_tight_mc_prescale" doMonitoring="True"> + <athena userJobId="RDOtoESDAOD_MC_pp_v6_tight_mc_prescale" doMonitoring="True"> <doc> - Menu: MC_pp_v5_tight_mc_prescale Sample: top - produces AOD and ESD 100 events + Menu: MC_pp_v6_tight_mc_prescale Sample: top - produces AOD and ESD 100 events </doc> - <displayName>RDOtoESDAOD_MC_pp_v5_tight_mc_prescale</displayName> + <displayName>RDOtoESDAOD_MC_pp_v6_tight_mc_prescale</displayName> <commandLineFlags> - RunningRTT=TRUE;menu='MC_pp_v5_tight_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] + RunningRTT=TRUE;menu='MC_pp_v6_tight_mc_prescale';jp.AthenaCommonFlags.EvtMax.set_Value_and_Lock(100);jp.Rec.OutputLevel=WARNING;LVL1OutputLevel=WARNING;HLTOutputLevel=WARNING;dsName='/eos/atlas/atlascerngroupdisk/trig-daq/validation/test_data/valid3.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2579_r6164_tid05062245_00';fileRange=[1,4] </commandLineFlags> <options>testAthenaTrigRDOtoESDAOD.py</options> <package>Trigger/TrigValidation/TrigAnalysisTest</package> diff --git a/Trigger/TrigValidation/TrigAnalysisTest/test/ut_validate_run1_bs_to_xaod.cxx b/Trigger/TrigValidation/TrigAnalysisTest/test/ut_validate_run1_bs_to_xaod.cxx new file mode 100644 index 0000000000000000000000000000000000000000..4a366d8b5c4572e86e786065aaa2785f48ca5113 --- /dev/null +++ b/Trigger/TrigValidation/TrigAnalysisTest/test/ut_validate_run1_bs_to_xaod.cxx @@ -0,0 +1,36 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// Compare HLT variables from Run1 bytestream before and after the conversion to xAOD. +// The test will be running within the AnalysisBase ATN group, while the input xAOD file is +// produced in the AtlasAnalysis. Since we are not sure about the order of these tests, +// let us use as the input the output of the yesterday's AtlasAnalysis nightly. +// Oleg Kuprash <oleg.kuprash@cern.ch> +#include <iostream> +#include <ctime> + +#include "TrigAnalysisTest/RootCoreTestHarness.h" + +#include "TString.h" +#include "TSystem.h" + + + +int main() +{ + + std::time_t now = time(0); + std::tm *gmtm = gmtime(&now); + int i_today = gmtm->tm_wday; + std::cout << "today is " << i_today << std::endl; + int i_yesterday = (i_today+6)%7; + TString s_nightly_aod_yesterday = ""; + s_nightly_aod_yesterday.Form("/afs/cern.ch/atlas/software/builds/nightlies/20.7.X-VAL/AtlasAnalysis/rel_%i/NICOS_area/NICOS_atntest207XVAL64BS6G49AnlOpt/triganalysistest_testconfiguration_work/TrigHLT_Run1BStoxAOD/myAOD.pool.root", i_yesterday); + + std::cout << "the path for AOD from yesterday's ATN is: " << s_nightly_aod_yesterday << std::endl; + + gSystem->Setenv("ROOTCORE_TEST_FILE", s_nightly_aod_yesterday); + + return TrigAnalysisTest::runTrigAnalysisTest("Run1BStoxAODTrigger"); +}