Commit 8a0d3c53 authored by Ryan Mackenzie White's avatar Ryan Mackenzie White Committed by Graeme Stewart
Browse files

Checks for egamma calibration (TrigValAlgs-00-00-98)

	* TrigValAlgs/TrigEDMChecker.cc
	* Checks for calibrated clusters
	* TrigValAlgs-00-00-98

2014-09-20 Ryan White <rwhite@cern.ch>
	* TrigValAlgs/TrigEDMChecker.cc
	* xAOD::Iso for Electron and Photon
	* TrigValAlgs-00-00-96

2014-08-11 Sebastien Prince <sprince@cern.ch>
	* TrigValAlgs/TrigDecisionChecker.h: Added method for jets
	* src/TrigDecisionChecker.cxx: Same as above
	* src/TrigEDMChecker.cxx: Method for jets now also checks for attributes
	* Tagged as TrigValAlgs-00-00-95
parent c4677365
......@@ -76,6 +76,8 @@ class TrigDecisionChecker : public AthAlgorithm
void checkTrigVertexCounts(const Trig::FeatureContainer& fc);
void checkTrigTrackCounts(const Trig::FeatureContainer& fc);
StatusCode checkJetEDM(std::string trigItem);
ToolHandle<Trig::TrigDecisionTool> m_trigDec; //!< interface to use the trigger data: TriggerTool
......@@ -139,7 +141,9 @@ class TrigDecisionChecker : public AthAlgorithm
// MinBias triggers to test output for
std::vector<std::string> m_minBiasItems;
// Jet triggers to test output for
std::vector<std::string> m_jetItems;
// ...check prescale and passthrough factors
std::vector<float> m_chain_prescales;
......
......@@ -64,7 +64,6 @@ use xAODTau xAODTau-* Event/xAOD
use xAODTrigMissingET xAODTrigMissingET-* Event/xAOD
use xAODTrigCalo xAODTrigCalo-* Event/xAOD
use xAODTrigMinBias xAODTrigMinBias-* Event/xAOD
#For jet
use xAODJet xAODJet-* Event/xAOD
use xAODTrigMinBias xAODTrigMinBias-* Event/xAOD
......
......@@ -48,8 +48,8 @@ class TrigDecisionChecker ( TrigDecisionChecker ):
self.MuonItems = ['HLT_mu26_imedium','HLT_mu6_idperf']
self.ElectronItems = ['e0_perf_L1EM15VH','e28_loose1_iloose','e28_lhloose_iloose']
self.PhotonItems = ['g0_perf_L1EM15VH','g25_loose1','g35_loose1']
self.MinBiasItems = ['HLT_mb_perf_L1MBTS_1', 'HLT_mb_sptrk', 'HLT_mb_sp2000_pusup600_trk70_hmt']
self.JetItems = ['HLT_j400','HLT_j460_a10_L1J100','HLT_j200_320eta490','HLT_j60','HLT_j110','HLT_j150','HLT_j200','HLT_j260','HLT_j330','HLT_3j175','HLT_4j100','HLT_5j85','HLT_ht1000_L1J100','HLT_j30_muvtx',] #DC14 jet menu
# Run with TrigDecisionTool configured from XML files
class TrigDecisionChecker_XMLConfig( TrigDecisionChecker ):
......
......@@ -31,6 +31,7 @@ TrigDecisionChecker based on TrigDecisionMaker/TrigDecisionTest */
#include "xAODTrigBphys/TrigBphysContainer.h"
#include "xAODEgamma/ElectronContainer.h"
#include "xAODEgamma/PhotonContainer.h"
#include "xAODJet/JetContainer.h"
#include "TrigParticle/TrigEFBjetContainer.h"
#include "Particle/TrackParticleContainer.h"
......@@ -163,6 +164,8 @@ TrigDecisionChecker::TrigDecisionChecker(const std::string &name, ISvcLocator *p
declareProperty("PhotonItems", m_photonItems, "Photon triggers to test");
declareProperty("TauItems", m_TauItems, "Tau triggers to test");
declareProperty("MinBiasItems", m_minBiasItems, "MinBias triggers to test");
declareProperty("JetItems", m_jetItems, "Jet triggers to test");
}
......@@ -505,6 +508,16 @@ StatusCode TrigDecisionChecker::execute()
return sc;
}
}
ATH_MSG_INFO("REGTEST ==========START of Jet EDM/Navigation check===========");
for(auto jetItem : m_jetItems) {
sc = checkJetEDM(jetItem);
if ( sc.isFailure() ) {
ATH_MSG_INFO("REGTEST Could not finish checkJetEDM test for chain " << jetItem);
return sc;
}
}
ATH_MSG_INFO("REGTEST ==========END of Jet EDM/Navigatinon check===========");
if (m_event_decision_printout) {
......@@ -1065,4 +1078,56 @@ void TrigDecisionChecker::checkTrigTrackCounts(const Trig::FeatureContainer& fc)
}
}
StatusCode TrigDecisionChecker::checkJetEDM(std::string trigItem){
ATH_MSG_DEBUG("in checkJetEDM()");
ATH_MSG_INFO("REGTEST =====For chain " << trigItem << "=====");
ATH_MSG_INFO("Chain passed = " << m_trigDec->isPassed(trigItem));
Trig::FeatureContainer fc = m_trigDec->features(trigItem);
const std::vector< Trig::Feature<xAOD::JetContainer> > vec_jet = fc.get<xAOD::JetContainer>();
ATH_MSG_INFO("Size of vector< Trig::Feature<xAOD::JetContainer> > = " << vec_jet.size());
for(auto jetfeat : vec_jet){
const xAOD::JetContainer * jetCont = jetfeat.cptr();
int jetContsize = jetCont->size();
ATH_MSG_INFO("REGTEST Got jet container, size: " << jetContsize);
int i = 0;
for(const auto & thisjet : *jetCont){
++i;
ATH_MSG_INFO("REGTEST Looking at jet " << i);
if (thisjet) {
//checks jet variables
ATH_MSG_DEBUG("REGTEST Checking jet variables");
ATH_MSG_INFO("REGTEST pt: " << thisjet->pt() );
ATH_MSG_INFO("REGTEST eta: " << thisjet->eta() );
ATH_MSG_INFO("REGTEST phi: " << thisjet->phi() );
ATH_MSG_INFO("REGTEST m: " << thisjet->m() );
ATH_MSG_INFO("REGTEST e: " << thisjet->e() );
ATH_MSG_INFO("REGTEST px: " << thisjet->px() );
ATH_MSG_INFO("REGTEST py: " << thisjet->py() );
ATH_MSG_INFO("REGTEST pz: " << thisjet->pz() );
ATH_MSG_INFO("REGTEST type: " << thisjet->type() );
ATH_MSG_INFO("REGTEST algorithm (kt: 0, cam: 1, antikt: 2, ...): " << thisjet->getAlgorithmType() );
ATH_MSG_INFO("REGTEST size parameter: " << thisjet->getSizeParameter() );
ATH_MSG_INFO("REGTEST input (LCTopo: 0, EMTopo: 1, ...): " << thisjet->getInputType() );
ATH_MSG_INFO("REGTEST constituents signal state (uncalibrated: 0, calibrated: 1): " << thisjet->getConstituentsSignalState() );
ATH_MSG_INFO("REGTEST number of constituents: " << thisjet->numConstituents() );
}
else{
ATH_MSG_ERROR("REGTEST Problem with jet pointer" );
return StatusCode::FAILURE;
}
}
if (jetContsize == i) ATH_MSG_INFO("REGTEST size of jet container == number of displayed jets: " << (jetContsize == i) );
else ATH_MSG_WARNING("REGTEST Problem with displaying jets");
}
ATH_MSG_DEBUG("leaving checkJetEDM()");
return StatusCode::SUCCESS;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment