Commit ad78546c authored by Niels Van Eldik's avatar Niels Van Eldik Committed by Graeme Stewart
Browse files

adopt new IMuonCreator interface (TrigMuSuperEF-00-03-28)

	* adopt new IMuonCreator interface
	* Tagged as TrigMuSuperEF-00-03-28

2014-12-04 Mark Owen
	* Fix in RoI retrieval logic for FS running
	* Tagged as TrigMuSuperEF-00-03-27

2014-12-04 Niels van Eldik
	* Fix for interface changes in IMuonCreatorTool
	* Tagged as TrigMuSuperEF-00-03-26

2014-12-04 Savana Shaw <s.shaw@cern.ch>
	* Update to configuration required for NS triggers
	* TrigMuSuperEF-00-03-25

2014-12-03 Stewart Martin-Haugh <smh@cern.ch>
	* Fix for interface changes in IMuonCreatorTool (on behalf of Sue Cheatham)
	* Tagged as TrigMuSuperEF-00-03-24

...
(Long ChangeLog diff - truncated)
parent c4316198
......@@ -46,7 +46,8 @@ use TrkToolInterfaces TrkToolInterfaces-* Tracking/TrkTools
use xAODMuon xAODMuon-* Event/xAOD
use xAODTracking xAODTracking-* Event/xAOD
# Inform cmake that this package has private header files (transparent to CMT)
apply_pattern cmake_add_command command="include_directories(src)"
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------
public
......
......@@ -8,7 +8,7 @@ from TrigMuonEF.TrigMuonEFMonitoring import TrigMuonEFStandaloneToolMonitoring,T
from TrigMuonHypo.TrigMuonHypoConfig import TrigMuonEFCombinerHypoConfig
from TrigMuSuperEFConf import TrigMuSuperEF
from AthenaCommon.BeamFlags import jobproperties
#
# Default config: RoI based, Combined, TrigMuonEF only
......@@ -28,18 +28,17 @@ class TrigMuSuperEFConfig(TrigMuSuperEF):
kwargs.setdefault("MuonCombinedTool","TMEF_MuonCombinedTool")
kwargs.setdefault("TrkToTrackParticleConvTool","TMEF_TrkToTrackParticleConvTool")
kwargs.setdefault("MuonCreatorTool","TMEF_MuonCreatorTool")
kwargs.setdefault("deltaEtaRoI",0.2)
kwargs.setdefault("deltaPhiRoI",0.2)
doTrigMuonEF = kwargs["doOutsideIn"]
doTrigMuGirl = kwargs["doInsideOut"]
doStandaloneOnly = kwargs["StandaloneOnly"]
doFullScan = kwargs["fullScan"]
combinerOnly = kwargs["CombinerOnly"]
doCosmics = jobproperties.Beam.beamType == 'cosmics'
if doFullScan:
kwargs.setdefault("IdTrackParticles", "InDetTrigTrackingxAODCnv_FullScan_EFID")
else:
kwargs.setdefault("IdTrackParticles", "InDetTrigTrackingxAODCnv_Muon_EFID")
# make instance
super(TrigMuSuperEFConfig,self).__init__(name,**kwargs)
......@@ -120,6 +119,21 @@ def TrigMuSuperEF_TMEFCombinerOnly(name="TrigMuSuperEF_TMEFCombinerOnly",**kwarg
kwargs.setdefault("CombinerOnly", True)
return TrigMuSuperEFConfig(name,**kwargs)
def TrigMuSuperEF_WideCone(name="TrigMuSuperEF_WideCone",**kwargs):
kwargs.setdefault("deltaEtaRoI", 0.3)
kwargs.setdefault("deltaPhiRoI", 0.3)
kwargs.setdefault("IdTrackParticles", "InDetTrigTrackingxAODCnv_MuonIso_EFID")
return TrigMuSuperEFConfig(name,**kwargs)
def TrigMuSuperEF_WideCone05(name="TrigMuSuperEF_WideCone05",**kwargs):
kwargs.setdefault("deltaEtaRoI", 0.5)
kwargs.setdefault("deltaPhiRoI", 0.5)
kwargs.setdefault("IdTrackParticles", "InDetTrigTrackingxAODCnv_MuonIso_EFID")
kwargs.setdefault("doInsideOut", False)
kwargs.setdefault("doOutsideIn", True)
kwargs.setdefault("StandaloneOnly", True)
return TrigMuSuperEFConfig(name,**kwargs)
#
# Full scan configs
#
......@@ -127,7 +141,6 @@ def TrigMuSuperEF_FSCB(name="TrigMuSuperEF_FSCB",**kwargs):
kwargs.setdefault("doInsideOut",False)
kwargs.setdefault("doOutsideIn",True)
kwargs.setdefault("fullScan",True)
kwargs.setdefault("IdTrackParticles", "InDetTrigTrackingxAODCnv_FullScan_EFID")
return TrigMuSuperEFConfig(name,**kwargs)
......@@ -137,6 +150,7 @@ def TrigMuSuperEF_FSSA(name="TrigMuSuperEF_FSSA",**kwargs):
class TrigMuSuperEFHypoConfig(TrigMuonEFCombinerHypoConfig):
__slots__ = ()
......
......@@ -15,3 +15,5 @@ addAlgorithm("TrigMuSuperEF.TrigMuSuperEFConfig.TrigMuSuperEF_TMEFCombinerOnly",
# full-scans
addAlgorithm("TrigMuSuperEF.TrigMuSuperEFConfig.TrigMuSuperEF_FSCB","TrigMuSuperEF_FSCB")
addAlgorithm("TrigMuSuperEF.TrigMuSuperEFConfig.TrigMuSuperEF_FSSA","TrigMuSuperEF_FSSA")
addAlgorithm("TrigMuSuperEF.TrigMuSuperEFConfig.TrigMuSuperEF_WideCone","TrigMuSuperEF_WideCone")
addAlgorithm("TrigMuSuperEF.TrigMuSuperEFConfig.TrigMuSuperEF_WideCone05","TrigMuSuperEF_WideCone05")
......@@ -21,7 +21,7 @@
#include "TrkSegment/SegmentCollection.h"
#include "CaloEvent/CaloClusterContainer.h"
#include "TrigNavigation/TrigNavigation/TriggerElement.h"
#include "TrigNavigation/TriggerElement.h"
#include "TrigConfHLTData/HLTTriggerElement.h"
#include "TrigSteeringEvent/TrigRoiDescriptor.h"
......@@ -85,7 +85,7 @@ TrigMuSuperEF::TrigMuSuperEF(const std::string& name, ISvcLocator* pSvcLocator)
m_recordTracks(false),
m_dEtaRoI(0.2),
m_dPhiRoI(0.2),
m_idTrackParticlesName("InDetTrigTrackingxAODCnv_Muon_EFID"),
m_idTrackParticlesName(""),
m_saTrackParticleContName("MuonEFInfo_ExtrapTrackParticles"),
m_msTrackParticleContName("MuonEFInfo_MSonlyTrackParticles"),
m_cbTrackParticleContName("MuonEFInfo_CombTrackParticles"),
......@@ -924,9 +924,17 @@ HLT::ErrorCode TrigMuSuperEF::buildMuons(const MuonCandidateCollection* muonCand
// call muon creator tool to fill all xAOD objects
// note, this also does duplicate removal
ATH_MSG_DEBUG("Call m_muonCreatorTool->create");
m_muonCreatorTool->create( muonCandidates, inDetCandidates, *m_muonContainer, combinedTrackParticles, m_combTrkTrackColl, extrapolatedTrackParticles, extrapolatedTracks);
MuonCombined::IMuonCreatorTool::OutputData output(*m_muonContainer);
output.combinedTrackParticleContainer = combinedTrackParticles;
output.combinedTrackCollection = m_combTrkTrackColl;
output.extrapolatedTrackParticleContainer = extrapolatedTrackParticles;
output.extrapolatedTrackCollection = extrapolatedTracks;
m_muonCreatorTool->create( muonCandidates, inDetCandidates, output);
ATH_MSG_DEBUG("N(input SA) = " << muonCandidates->size() << " N(SA from muon creator tool) = " << extrapolatedTracks->size());
if(combinedTrackParticles) ATH_MSG_DEBUG("n(xAOD combinedTrackParticles)=" << combinedTrackParticles->size());
......@@ -1069,6 +1077,7 @@ const IRoiDescriptor* TrigMuSuperEF::getRoiDescriptor(const HLT::TriggerElement*
} else if (superRoI) {
if ( !superRoI->composite() ) {
ATH_MSG_DEBUG("Retrieved TrigRoiDescriptor \"forMFFS\" is not a composite RoI");
if(superRoI->isFullscan()) m_roi = superRoI;
}
else {
ATH_MSG_VERBOSE("Retrieved (composite)TrigRoiDescriptor \"forMFFS\"");
......@@ -1082,14 +1091,17 @@ const IRoiDescriptor* TrigMuSuperEF::getRoiDescriptor(const HLT::TriggerElement*
ATH_MSG_DEBUG("Failure in getFeature((composite)TrigRoiDescriptor,\"\") due to internal navigation error");
} else if (superRoI) {
if ( !superRoI->composite() ) {
ATH_MSG_DEBUG("Retrieved TrigRoiDescriptor \"forMFFS\" is not a composite RoI");
ATH_MSG_DEBUG("Retrieved TrigRoiDescriptor \"forMFFS\" is not a composite RoI, fullScan setting of RoI= " << superRoI->isFullscan());
if(superRoI->isFullscan()) m_roi = superRoI;
}
else {
ATH_MSG_VERBOSE("Retrieved (composite)TrigRoiDescriptor \"\"");
m_roi = superRoI;
}
} else {
// no SuperRoI found, create new full-scan RoI
}
if(m_roi==0) {
// no RoI found, create new full-scan RoI
ATH_MSG_VERBOSE("No (composite)TrigRoiDescriptor found. Creating new full-scan RoI");
newTrigRoI = new TrigRoiDescriptor(true);
/// newTrigRoI->set_roiId(10000); /// do we need this identifier set ???
......
......@@ -25,6 +25,7 @@
// EDM includes
#include "xAODMuon/MuonContainer.h"
#include "xAODMuon/SlowMuonContainer.h"
#include "Particle/TrackParticleContainer.h"
#include "MuonCombinedEvent/MuonCandidateCollection.h"
#include "MuonCombinedEvent/InDetCandidateCollection.h"
......@@ -139,6 +140,7 @@ class TrigMuSuperEF: public virtual HLT::FexAlgo {
// Output xAOD muons
xAOD::MuonContainer* m_muonContainer;
xAOD::SlowMuonContainer* m_slowMuonContainer;
// Output combined TrackCollection
TrackCollection* m_combTrkTrackColl;
......
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