diff --git a/Trigger/TrigHypothesis/TrigTauHypo/python/TrigTauHypoTool.py b/Trigger/TrigHypothesis/TrigTauHypo/python/TrigTauHypoTool.py index 5850602adb499555e06912f6a7f0e40275771c54..24714ed0f2e57b72feec846968cacfd73eef2cc1 100644 --- a/Trigger/TrigHypothesis/TrigTauHypo/python/TrigTauHypoTool.py +++ b/Trigger/TrigHypothesis/TrigTauHypo/python/TrigTauHypoTool.py @@ -166,6 +166,26 @@ def TrigTauTrackHypoToolFromDict( chainDict ): return currentHypo +def TrigTrkPrecHypoToolFromDict( chainDict ): + + name = chainDict['chainName'] + chainPart = chainDict['chainParts'][0] + + criteria = chainPart['selection'] + threshold = chainPart['threshold'] + + from TrigTauHypo.TrigTauHypoConf import TrigTrkPrecHypoTool + currentHypo = TrigTrkPrecHypoTool(name) + currentHypo.MonTool = "" + + if criteria == 'cosmic': + currentHypo.LowerPtCut = int(threshold)*1000. + currentHypo.TracksInCoreCut = 9999 + currentHypo.TracksInIsoCut = 9999 + currentHypo.DeltaZ0Cut = 9999. + + return currentHypo + def TrigL2TauHypoToolFromDict( chainDict ): diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/ITrigTrkPrecHypoTool.h b/Trigger/TrigHypothesis/TrigTauHypo/src/ITrigTrkPrecHypoTool.h new file mode 100755 index 0000000000000000000000000000000000000000..559145c4978ee7ee287e84edf0f637fdcab36695 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/ITrigTrkPrecHypoTool.h @@ -0,0 +1,55 @@ +/* + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +*/ +#ifndef TRIGTAUHYPO_ITrigTrkPrecHypoTool_H +#define TRIGTAUHYPO_ITrigTrkPrecHypoTool_H 1 + +#include "GaudiKernel/IAlgTool.h" + + +class ITrigTrkPrecHypoTool + : virtual public ::IAlgTool +{ + + public: + DeclareInterfaceID(ITrigTrkPrecHypoTool, 1, 0); + virtual ~ITrigTrkPrecHypoTool(){} + + struct TrackingInfo { + TrackingInfo( TrigCompositeUtils::Decision* d, const TrigRoiDescriptor* r, const xAOD::TrackParticleContainer *c, + const TrigCompositeUtils::Decision* previousDecision ) + : decision( d ), + roi( r ), + trackparticles(c), + previousDecisionIDs( TrigCompositeUtils::decisionIDs( previousDecision ).begin(), + TrigCompositeUtils::decisionIDs( previousDecision ).end() ) + {} + + TrigCompositeUtils::Decision* decision; + const TrigRoiDescriptor* roi; + const xAOD::TrackParticleContainer* trackparticles; + const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs; + }; + + + /** + * @brief decides upon all tracks + * Note it is for a reason a non-virtual method, it is an interface in gaudi sense and implementation. + * There will be many tools called often to perform this quick operation and we do not want to pay for polymorphism which we do not need to use. + * Will actually see when N obj hypos will enter the scene + **/ + virtual StatusCode decide( std::vector<TrackingInfo>& input ) const = 0; + + /** + * @brief Makes a decision for a single object + * The decision needs to be returned + **/ + virtual bool decide( const TrackingInfo& i ) const = 0; + + protected: + + +}; + + +#endif //> !TRIGTAUHYPO_ITrigTrkPrecHypoTool_H diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoAlgMT.cxx b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoAlgMT.cxx index 93e4ed74e7735eba2e580b51f3ed938be26787d4..9bb44d0397eb244b00ef1b30c9e3d7759b827502 100644 --- a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoAlgMT.cxx +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoAlgMT.cxx @@ -18,7 +18,7 @@ TrigTrackPreSelHypoAlgMT::TrigTrackPreSelHypoAlgMT( const std::string& name, StatusCode TrigTrackPreSelHypoAlgMT::initialize() { ATH_CHECK( m_hypoTools.retrieve() ); ATH_CHECK( m_fastTracksKey.initialize() ); - ATH_CHECK( m_roiForID2ReadKey.initialize() ); + ATH_CHECK( m_roiForID2ReadKey.initialize(SG::AllowEmpty) ); renounce( m_fastTracksKey );// tau candidates are made in views, so they are not in the EvtStore: hide them renounce( m_roiForID2ReadKey); @@ -61,15 +61,21 @@ StatusCode TrigTrackPreSelHypoAlgMT::execute( const EventContext& context ) cons continue; } + const TrigRoiDescriptor *roi = nullptr; //get RoI - auto roiHandle = ViewHelper::makeHandle( *viewEL, m_roiForID2ReadKey, context); - ATH_CHECK( roiHandle.isValid() ); - if( roiHandle ->size() != 1 ) { - ATH_MSG_ERROR("Expect exactly one updated ROI"); - return StatusCode::FAILURE; + if(m_roiForID2ReadKey.key().empty()) { + auto roiELInfo = findLink<TrigRoiDescriptorCollection>( previousDecision, initialRoIString()); + ATH_CHECK( roiELInfo.isValid() ); + roi = *(roiELInfo.link); + }else{ + auto roiHandle = ViewHelper::makeHandle( *viewEL, m_roiForID2ReadKey, context); + ATH_CHECK( roiHandle.isValid() ); + if( roiHandle ->size() != 1 ) { + ATH_MSG_ERROR("Expect exactly one updated ROI"); + return StatusCode::FAILURE; + } + roi = roiHandle->at(0); } - const TrigRoiDescriptor* updatedROI = roiHandle->at(0); - // create new decision auto d = newDecisionIn( decisions, name() ); TrigCompositeUtils::linkToPrevious( d, decisionInput().key(), counter ); @@ -78,7 +84,7 @@ StatusCode TrigTrackPreSelHypoAlgMT::execute( const EventContext& context ) cons ATH_CHECK( el.isValid() ); d->setObjectLink( featureString(), el ); - toolInput.emplace_back( d, updatedROI, tracksHandle.cptr(), previousDecision ); + toolInput.emplace_back( d, roi, tracksHandle.cptr(), previousDecision ); ATH_MSG_DEBUG( "Added view, roi, tracks, previous decision to new decision " << counter << " for view " << (*viewEL)->name() ); } diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoTool.cxx b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoTool.cxx index 8fec464248ad8d66273e1c517776379f36dde588..2da36ca13b98576dfb24d5230f1e095bf0e2efa1 100755 --- a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoTool.cxx +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include <iterator> @@ -50,22 +50,22 @@ TrigTrackPreSelHypoTool::~TrigTrackPreSelHypoTool() StatusCode TrigTrackPreSelHypoTool::initialize() { - ATH_MSG_INFO( "in initialize()" ); + ATH_MSG_DEBUG( "in initialize()" ); if ( !m_monTool.empty() ) CHECK( m_monTool.retrieve() ); ATH_MSG_DEBUG( "Tool configured for chain/id: " << m_decisionId ); - ATH_MSG_INFO( " REGTEST: TrigTrackPreSelHypoTool will cut on " ); - ATH_MSG_INFO( " REGTEST: Lower pt cut for track selection: " << m_lowerTrackPtCut ); - ATH_MSG_INFO( " REGTEST: Tracks in core <= " << m_tracksInCoreCut ); - ATH_MSG_INFO( " REGTEST: Tracks in outer <= " << m_tracksInIsoCut ); - ATH_MSG_INFO( " REGTEST: Relax High pT: " << m_relax_highpt ); - ATH_MSG_INFO( " REGTEST: Relax High pT Threshold: " << m_highpt_threshold ); - ATH_MSG_INFO( " REGTEST: ------ " ); + ATH_MSG_DEBUG( " REGTEST: TrigTrackPreSelHypoTool will cut on " ); + ATH_MSG_DEBUG( " REGTEST: Lower pt cut for track selection: " << m_lowerTrackPtCut ); + ATH_MSG_DEBUG( " REGTEST: Tracks in core <= " << m_tracksInCoreCut ); + ATH_MSG_DEBUG( " REGTEST: Tracks in outer <= " << m_tracksInIsoCut ); + ATH_MSG_DEBUG( " REGTEST: Relax High pT: " << m_relax_highpt ); + ATH_MSG_DEBUG( " REGTEST: Relax High pT Threshold: " << m_highpt_threshold ); + ATH_MSG_DEBUG( " REGTEST: ------ " ); - ATH_MSG_INFO( "Initialization of TrigTrackPreSelHypoTool completed successfully" ); + ATH_MSG_DEBUG( "Initialization of TrigTrackPreSelHypoTool completed successfully" ); return StatusCode::SUCCESS; } diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoTool.h b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoTool.h index a821cf101fab4b19a953320edace2b447c7066fb..a53bbc0baaab5aca3445a9b740f106113d80fcf9 100755 --- a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoTool.h +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrackPreSelHypoTool.h @@ -56,6 +56,8 @@ class TrigTrackPreSelHypoTool : public extends<AthAlgTool, ITrigTrackPreSelHypoT Gaudi::Property<double> m_highpt_threshold{ this, "highpt_threshold", 200000., "" }; + Gaudi::Property<bool> m_acceptAll{ this, "AcceptAll", false, "Ignore selection" }; + ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Monitoring tool" }; }; diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoAlgMT.cxx b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoAlgMT.cxx new file mode 100644 index 0000000000000000000000000000000000000000..b5acfca4ebf28823a74def4fe504e56dd8714b11 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoAlgMT.cxx @@ -0,0 +1,101 @@ +/* + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +*/ + +#include "Gaudi/Property.h" +#include "TrigTrkPrecHypoAlgMT.h" +#include "TrigCompositeUtils/HLTIdentifier.h" +#include "TrigCompositeUtils/TrigCompositeUtils.h" +#include "AthViews/ViewHelper.h" + +using namespace TrigCompositeUtils; + +TrigTrkPrecHypoAlgMT::TrigTrkPrecHypoAlgMT( const std::string& name, + ISvcLocator* pSvcLocator ) : + ::HypoBase( name, pSvcLocator ) {} + + +StatusCode TrigTrkPrecHypoAlgMT::initialize() { + ATH_CHECK( m_hypoTools.retrieve() ); + ATH_CHECK( m_fastTracksKey.initialize() ); + ATH_CHECK( m_roiForID2ReadKey.initialize(SG::AllowEmpty) ); + renounce( m_fastTracksKey );// tau candidates are made in views, so they are not in the EvtStore: hide them + renounce( m_roiForID2ReadKey); + + return StatusCode::SUCCESS; +} + +StatusCode TrigTrkPrecHypoAlgMT::execute( const EventContext& context ) const { + ATH_MSG_DEBUG ( "Executing " << name() << "..." ); + auto previousDecisionsHandle = SG::makeHandle( decisionInput(), context ); + if( not previousDecisionsHandle.isValid() ) {//implicit + ATH_MSG_DEBUG( "No implicit RH for previous decisions "<< decisionInput().key()<<": is this expected?" ); + return StatusCode::SUCCESS; + } + + ATH_MSG_DEBUG( "Running with "<< previousDecisionsHandle->size() <<" previous decisions"); + + // new decisions + + // new output decisions + SG::WriteHandle<DecisionContainer> outputHandle = createAndStore(decisionOutput(), context ); + auto decisions = outputHandle.ptr(); + + // input for decision + std::vector<ITrigTrkPrecHypoTool::TrackingInfo> toolInput; + + // loop over previous decisions + int counter=-1; + for ( auto previousDecision: *previousDecisionsHandle ) { + counter++; + + //get View + const auto viewEL = previousDecision->objectLink<ViewContainer>( viewString() ); + ATH_CHECK( viewEL.isValid() ); + auto tracksHandle = ViewHelper::makeHandle( *viewEL, m_fastTracksKey, context); + ATH_CHECK( tracksHandle.isValid() ); + ATH_MSG_DEBUG ( "tracks handle size: " << tracksHandle->size() << "..." ); + + if( tracksHandle->size() == 0 ) { + ATH_MSG_DEBUG("No tracks were found, skipping this view"); + continue; + } + + const TrigRoiDescriptor *roi = nullptr; + //get RoI + if(m_roiForID2ReadKey.key().empty()) { + auto roiELInfo = findLink<TrigRoiDescriptorCollection>( previousDecision, initialRoIString()); + ATH_CHECK( roiELInfo.isValid() ); + roi = *(roiELInfo.link); + }else{ + auto roiHandle = ViewHelper::makeHandle( *viewEL, m_roiForID2ReadKey, context); + ATH_CHECK( roiHandle.isValid() ); + if( roiHandle ->size() != 1 ) { + ATH_MSG_ERROR("Expect exactly one updated ROI"); + return StatusCode::FAILURE; + } + roi = roiHandle->at(0); + } + // create new decision + auto d = newDecisionIn( decisions, name() ); + TrigCompositeUtils::linkToPrevious( d, decisionInput().key(), counter ); + + auto el = ViewHelper::makeLink( *viewEL, tracksHandle, 0 ); + ATH_CHECK( el.isValid() ); + d->setObjectLink( featureString(), el ); + + toolInput.emplace_back( d, roi, tracksHandle.cptr(), previousDecision ); + + ATH_MSG_DEBUG( "Added view, roi, tracks, previous decision to new decision " << counter << " for view " << (*viewEL)->name() ); + } + + ATH_MSG_DEBUG( "Found "<<toolInput.size()<<" inputs to tools"); + + for ( auto& tool: m_hypoTools ) { + ATH_CHECK( tool->decide( toolInput ) ); + } + + ATH_CHECK( hypoBaseOutputProcessing(outputHandle) ); + + return StatusCode::SUCCESS; +} diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoAlgMT.h b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoAlgMT.h new file mode 100644 index 0000000000000000000000000000000000000000..ff19839c49a446778036ce901e55645f05c18d3e --- /dev/null +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoAlgMT.h @@ -0,0 +1,34 @@ +/* + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +*/ +#ifndef TRIGTAUHYPO_TRIGTRKPRECHYPOALG_H +#define TRIGTAUHYPO_TRIGTRKPRECHYPOALG_H + +#include <string> + +#include "AthenaBaseComps/AthReentrantAlgorithm.h" +#include "AthViews/View.h" +#include "TrigSteeringEvent/TrigRoiDescriptorCollection.h" +#include "TrigCompositeUtils/TrigCompositeUtils.h" +#include "DecisionHandling/HypoBase.h" +#include "xAODTracking/TrackParticleContainer.h" + +#include "ITrigTrkPrecHypoTool.h" + +class TrigTrkPrecHypoAlgMT : public ::HypoBase { + public: + + TrigTrkPrecHypoAlgMT( const std::string& name, ISvcLocator* pSvcLocator ); + + virtual StatusCode initialize() override; + virtual StatusCode execute( const EventContext& context ) const override; + + private: + ToolHandleArray< ITrigTrkPrecHypoTool > m_hypoTools { this, "HypoTools", {}, "Hypo tools" }; + + SG::ReadHandleKey< xAOD::TrackParticleContainer > m_fastTracksKey { this, "trackparticles", "trackparticles", "precision tracks in view" }; + SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiForID2ReadKey{ this, "RoIForIDReadHandleKey", "UpdatedTrackRoI", "Updated narrow ROI produced in view" }; + +}; + +#endif //> !TRIGTAUHYPO_TRIGTRKPRECHYPOALG_H diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoTool.cxx b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoTool.cxx new file mode 100755 index 0000000000000000000000000000000000000000..c2ba62e90dc2f18a67e782a3fc8bc1883068bb23 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoTool.cxx @@ -0,0 +1,125 @@ +/* + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +*/ + +#include <iterator> +#include <sstream> + +// +#include "TLorentzVector.h" + +#include "GaudiKernel/IToolSvc.h" +#include "GaudiKernel/StatusCode.h" +#include "GaudiKernel/ListItem.h" +// + +#include "TrigSteeringEvent/TrigRoiDescriptor.h" +#include "CxxUtils/phihelper.h" + +#include "xAODTau/TauJetContainer.h" +#include "xAODJet/Jet.h" +#include "xAODJet/JetContainer.h" +#include "xAODCaloEvent/CaloCluster.h" +#include "xAODCaloEvent/CaloClusterContainer.h" + +#include "xAODTrigger/TrigPassBits.h" + +#include "xAODTracking/TrackParticleContainer.h" + +#include "AthenaMonitoringKernel/Monitored.h" + +#include "TrigTrkPrecHypoTool.h" + +//class ISvcLocator; + +using namespace TrigCompositeUtils; + +TrigTrkPrecHypoTool::TrigTrkPrecHypoTool( const std::string& type, + const std::string& name, + const IInterface* parent ) + : base_class( type, name, parent ), + m_decisionId( HLT::Identifier::fromToolName( name ) ) +{ +} + +TrigTrkPrecHypoTool::~TrigTrkPrecHypoTool() +{ +} + +StatusCode TrigTrkPrecHypoTool::initialize() +{ + + ATH_MSG_DEBUG( "in initialize()" ); + + if ( !m_monTool.empty() ) CHECK( m_monTool.retrieve() ); + + ATH_MSG_DEBUG( "Tool configured for chain/id: " << m_decisionId ); + + ATH_MSG_DEBUG( " REGTEST: TrigTrkPrecHypoTool will cut on " ); + ATH_MSG_DEBUG( " REGTEST: Lower pt cut for track selection: " << m_lowerTrackPtCut ); + ATH_MSG_DEBUG( " REGTEST: Tracks in core <= " << m_tracksInCoreCut ); + ATH_MSG_DEBUG( " REGTEST: Tracks in outer <= " << m_tracksInIsoCut ); + ATH_MSG_DEBUG( " REGTEST: Relax High pT: " << m_relax_highpt ); + ATH_MSG_DEBUG( " REGTEST: Relax High pT Threshold: " << m_highpt_threshold ); + ATH_MSG_DEBUG( " REGTEST: ------ " ); + + + ATH_MSG_DEBUG( "Initialization of TrigTrkPrecHypoTool completed successfully" ); + return StatusCode::SUCCESS; +} + +bool TrigTrkPrecHypoTool::decide( const ITrigTrkPrecHypoTool::TrackingInfo& input ) const { + + // Get the messaging service, print where you are + ATH_MSG_DEBUG( "REGTEST:"<< name() << ": in execute()" ); + + bool pass = false; + + using namespace Monitored; + + auto nTracksInCore = Monitored::Scalar<int>( "nTracksInCore", -1); + auto nTracksInIso = Monitored::Scalar<int>( "nTracksInIso", -1); + auto PassedCuts = Monitored::Scalar<int>( "CutCounter", -1 ); + + // general reset + PassedCuts = 0; + + //get RoI descriptor + auto roiDescriptor = input.roi; + float roIEta = roiDescriptor->eta(); + float roIPhi = roiDescriptor->phi(); + float roIZ = roiDescriptor->zed(); + + ATH_MSG_DEBUG( "Input RoI eta: " << roIEta << " Input RoI phi: " << roIPhi << " Input RoI z: " << roIZ); + + // get the tracks collection + // Retrieve Input TrackCollection + auto foundTracks = input.trackparticles; + + if(foundTracks->size()!=0){ + + ATH_MSG_DEBUG( " Input track collection has size " << foundTracks->size() ); + + } + + PassedCuts++; + pass = true; + + ATH_MSG_DEBUG( " REGTEST: TE accepted !! " ); + + + return pass; +} + + +StatusCode TrigTrkPrecHypoTool::decide( std::vector<TrackingInfo>& input ) const { + + for ( auto& i: input ) { + if ( passed ( m_decisionId.numeric(), i.previousDecisionIDs ) ) { + if ( decide( i ) ) { + addDecisionID( m_decisionId, i.decision ); + } + } + } + return StatusCode::SUCCESS; +} diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoTool.h b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoTool.h new file mode 100755 index 0000000000000000000000000000000000000000..9592e154af1462fb49b3b0636bfde3ece52deae2 --- /dev/null +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/TrigTrkPrecHypoTool.h @@ -0,0 +1,65 @@ +/* + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef TrigTrkPrecHypoTool_H +#define TrigTrkPrecHypoTool_H + +#include "Gaudi/Property.h" +#include "xAODTau/TauJet.h" +#include "xAODTau/TauJetContainer.h" +#include "TrigSteeringEvent/TrigRoiDescriptor.h" +#include "AthenaBaseComps/AthAlgTool.h" +#include "AthenaMonitoringKernel/GenericMonitoringTool.h" +#include "TrigCompositeUtils/HLTIdentifier.h" +#include "TrigCompositeUtils/TrigCompositeUtils.h" + +#include "ITrigTrkPrecHypoTool.h" + +class StoreGateSvc; + +namespace HLT { + class TriggerElement; +} + +class TrigTrkPrecHypoTool : public extends<AthAlgTool, ITrigTrkPrecHypoTool> { + public: + TrigTrkPrecHypoTool( const std::string& type, + const std::string& name, + const IInterface* parent ); + + virtual ~TrigTrkPrecHypoTool(); + + virtual StatusCode initialize() override; + + virtual StatusCode decide( std::vector<ITrigTrkPrecHypoTool::TrackingInfo>& input ) const override; + + virtual bool decide( const ITrigTrkPrecHypoTool::TrackingInfo& i ) const override; + + private: + + HLT::Identifier m_decisionId; + + Gaudi::Property<float> m_lowerPtCut{ this, "lowerPtCut", 20000.0, "" }; + Gaudi::Property<float> m_lowerTrackPtCut{ this, "lowerTrackPtCut", 0.0, "" }; + Gaudi::Property<float> m_clusterCone{ this, "clusterCone", 0.2, "" }; + Gaudi::Property<float> m_coreSize{ this, "coreSize", 0.2, "" }; + Gaudi::Property<float> m_outerSize{ this, "outerSize", 0.4 , "" }; + Gaudi::Property<float> m_deltaRLeadTrkRoI{ this, "deltaRLeadTrkRoI", 0.2 , "" }; + Gaudi::Property<float> m_deltaZ0Cut{ this, "deltaZ0Cut", 2., "" }; + + Gaudi::Property<int> m_tracksInCoreCut{ this, "tracksInCoreCut", 3, "" }; + Gaudi::Property<int> m_tracksInIsoCut{ this, "tracksInIsoCut", 1, "" }; + + Gaudi::Property<bool> m_rejectNoTracks{ this, "rejectNoTracks", false, "" }; + Gaudi::Property<bool> m_relax_highpt{ this, "relax_highpt", true, "" }; + + Gaudi::Property<double> m_highpt_threshold{ this, "highpt_threshold", 200000., "" }; + + Gaudi::Property<bool> m_acceptAll{ this, "AcceptAll", false, "Ignore selection" }; + + ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Monitoring tool" }; + +}; +#endif + diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/components/TrigTauHypo_entries.cxx b/Trigger/TrigHypothesis/TrigTauHypo/src/components/TrigTauHypo_entries.cxx index f80a15217a3e7ce4806dbeedf29900768c090cf3..4ddfc4e87871366213d174aeb54d8213f285b6b9 100644 --- a/Trigger/TrigHypothesis/TrigTauHypo/src/components/TrigTauHypo_entries.cxx +++ b/Trigger/TrigHypothesis/TrigTauHypo/src/components/TrigTauHypo_entries.cxx @@ -32,6 +32,8 @@ #include "../TrigTrackPreSelHypoTool.h" #include "../TrigEFTauMVHypoTool.h" #include "../TrigEFTauMVHypoAlgMT.h" +#include "../TrigTrkPrecHypoAlgMT.h" +#include "../TrigTrkPrecHypoTool.h" DECLARE_COMPONENT( T2CaloTauHypo ) DECLARE_COMPONENT( T2IDTauHypo ) @@ -65,5 +67,7 @@ DECLARE_COMPONENT( TrigTauCaloHypoAlgMT ) DECLARE_COMPONENT( TrigTauTrackRoiUpdaterMT ) DECLARE_COMPONENT( TrigTrackPreSelHypoAlgMT ) DECLARE_COMPONENT( TrigTrackPreSelHypoTool ) +DECLARE_COMPONENT( TrigTrkPrecHypoTool ) +DECLARE_COMPONENT( TrigTrkPrecHypoAlgMT ) DECLARE_COMPONENT( TrigEFTauMVHypoAlgMT ) DECLARE_COMPONENT( TrigEFTauMVHypoTool ) diff --git a/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py b/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py index bda4387c35152263c91a38f9f7a938180522b590..ef1f9a654fdd0a720157098f94076d28bf1d6910 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/ConfigSettings.py @@ -452,6 +452,16 @@ class _Settings_muonCore( _GlobalSettings ): self._configPT = _PrecisionTracking( signatureType = 'muonCore', nameSuffix = 'MuonCore' ) self._doRecord = True #Allow recording of track collections +class _Settings_tauTau( _GlobalSettings ): + def __init__( self ): + _GlobalSettings.__init__(self) + self._name = "tauTau" #To be appended to alg names + self._roi = "HLT_Roi_Tau" #FIXME: possibly different! + self._configFT = _FastTracking( signatureType = 'tau', nameSuffix = 'Tau' ) + #There should not be a need for tauCore PT! + self._configPT = _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' ) + self._doRecord = True #Allow recording of track collections + class _Settings_tauCore( _GlobalSettings ): def __init__( self ): _GlobalSettings.__init__(self) @@ -466,51 +476,11 @@ class _Settings_tauIso( _GlobalSettings ): def __init__( self ): _GlobalSettings.__init__(self) self._name = "tauIso" #To be appended to alg names - self._roi = "HLT_Roi_TauIso" #FIXME: possibly different! + self._roi = "RoiForTauIso" #FIXME: possibly different! self._configFT = _FastTracking( signatureType = 'tauIso', nameSuffix = 'TauIso' ) self._configPT = _PrecisionTracking( signatureType = 'tauIso', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently... self._doRecord = True #Allow recording of track collections -#This might be redundant but lets keep them for the time being... -class _Settings_tauId( _GlobalSettings ): - def __init__( self ): - _GlobalSettings.__init__(self) - self._name = "tauId" #To be appended to alg names - self._roi = "HLT_Roi_Tau" #FIXME: possibly different! - self._configFT = _FastTracking( signatureType = 'tau', nameSuffix = 'Tau' ) - self._configPT = _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently... - self._doRecord = False #FIXME: Do I need to record these? - -#This might be redundant but lets keep them for the time being... -class _Settings_tauEF( _GlobalSettings ): - def __init__( self ): - _GlobalSettings.__init__(self) - self._name = "tauEF" #To be appended to alg names - self._roi = "HLT_Roi_TauIso" #FIXME: possibly different! - self._configFT = _FastTracking( signatureType = 'tauIso', nameSuffix = 'TauIso' ) # - self._configPT = _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently... - self._doRecord = False #FIXME: Do I need to record these? - -#This might be redundant but lets keep them for the time being... -class _Settings_tauTrk( _GlobalSettings ): - def __init__( self ): - _GlobalSettings.__init__(self) - self._name = "tauTrk" #To be appended to alg names - self._roi = "HLT_Roi_Tau" #FIXME: possibly different! - self._configFT = _FastTracking( signatureType = 'tau', nameSuffix = 'Tau' ) # - self._configPT = _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently... - self._doRecord = False #FIXME: Do I need to record these? - -#This might be redundant but lets keep them for the time being... -class _Settings_tauTrkTwo( _GlobalSettings ): - def __init__( self ): - _GlobalSettings.__init__(self) - self._name = "tauTrkTwo" #To be appended to alg names - self._roi = "HLT_Roi_TauIso" #FIXME: possibly different! - self._configFT = _FastTracking( signatureType = 'tauIso', nameSuffix = 'TauIso' ) # - self._configPT = _PrecisionTracking( signatureType = 'tau', nameSuffix = 'Tau' ) #Final collection is being renamed to just tau apparently... - self._doRecord = False #FIXME: Do I need to record these? - class _Settings_bjet( _GlobalSettings ): def __init__( self ): _GlobalSettings.__init__(self) @@ -575,14 +545,10 @@ _ConfigSettings = { "muonLate" : _Settings_muonLate(), #Tau signatures + "tauTau" : _Settings_tauTau(), "tauCore" : _Settings_tauCore(), "tauIso" : _Settings_tauIso(), - #Might be potentially removed - "tauId" : _Settings_tauId(), - "tauTrk" : _Settings_tauTrk(), - "tauTrkTwo" : _Settings_tauTrkTwo(), - "tauEF" : _Settings_tauEF(), - + "bjet" : _Settings_bjet(), "jet" : _Settings_jet(), diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index 7903a89382bbb43f2921986d7f56969fe054bd07..6d43fffeccb3bdad4148600760a2be7d0e1356d1 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -911,107 +911,107 @@ TrigSignatureMoniMT INFO HLT_sct_noise_SCTPEB_L1 TrigSignatureMoniMT INFO -- #3024203296 Events 0 0 0 - - - - - - - - - - - - 0 TrigSignatureMoniMT INFO -- #3024203296 Features 0 - - - - - - - - - - - - TrigSignatureMoniMT INFO HLT_tau0_perf_ptonly_L1TAU100 #2342716369 -TrigSignatureMoniMT INFO -- #2342716369 Events 0 0 0 0 - - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2342716369 Features 0 0 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2342716369 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2342716369 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau0_perf_ptonly_L1TAU12 #372992233 -TrigSignatureMoniMT INFO -- #372992233 Events 18 18 18 18 - - - - - - - - - - - 18 -TrigSignatureMoniMT INFO -- #372992233 Features 42 42 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #372992233 Events 18 18 18 18 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #372992233 Features 42 27 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau0_perf_ptonly_L1TAU60 #1376650121 -TrigSignatureMoniMT INFO -- #1376650121 Events 5 5 5 5 - - - - - - - - - - - 5 -TrigSignatureMoniMT INFO -- #1376650121 Features 6 6 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1376650121 Events 5 5 5 3 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1376650121 Features 6 3 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_idperf_track_L1TAU100 #714660857 -TrigSignatureMoniMT INFO -- #714660857 Events 0 0 0 0 - - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #714660857 Features 0 0 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #714660857 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #714660857 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_idperf_tracktwoMVA_L1TAU100 #2725693236 -TrigSignatureMoniMT INFO -- #2725693236 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2725693236 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2725693236 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2725693236 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_idperf_tracktwo_L1TAU100 #886074432 -TrigSignatureMoniMT INFO -- #886074432 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #886074432 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #886074432 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #886074432 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_medium1_tracktwoEF_L1TAU100 #1720193283 -TrigSignatureMoniMT INFO -- #1720193283 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1720193283 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1720193283 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1720193283 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_medium1_tracktwo_L1TAU100 #4069120574 -TrigSignatureMoniMT INFO -- #4069120574 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #4069120574 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #4069120574 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #4069120574 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_mediumRNN_tracktwoMVA_L1TAU100 #1747754287 -TrigSignatureMoniMT INFO -- #1747754287 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1747754287 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1747754287 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1747754287 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_perf_tracktwoMVA_L1TAU100 #2334140248 -TrigSignatureMoniMT INFO -- #2334140248 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2334140248 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2334140248 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2334140248 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_perf_tracktwo_L1TAU100 #1799096347 -TrigSignatureMoniMT INFO -- #1799096347 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1799096347 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1799096347 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1799096347 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau200_medium1_tracktwoEF_L1TAU100 #4203471951 -TrigSignatureMoniMT INFO -- #4203471951 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #4203471951 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #4203471951 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #4203471951 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau200_mediumRNN_tracktwoMVA_L1TAU100 #1468926272 -TrigSignatureMoniMT INFO -- #1468926272 Events 0 0 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1468926272 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1468926272 Events 0 0 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1468926272 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_idperf_track_L1TAU12IM #554271976 -TrigSignatureMoniMT INFO -- #554271976 Events 14 14 14 14 - - - - - - - - - - - 14 -TrigSignatureMoniMT INFO -- #554271976 Features 24 24 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #554271976 Events 14 14 14 13 0 13 13 13 - - - - - - - 13 +TrigSignatureMoniMT INFO -- #554271976 Features 24 16 0 16 16 16 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_idperf_tracktwoMVA_L1TAU12IM #988149859 -TrigSignatureMoniMT INFO -- #988149859 Events 14 14 14 13 13 - - - - - - - - - - 13 -TrigSignatureMoniMT INFO -- #988149859 Features 24 17 17 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #988149859 Events 14 14 14 13 12 0 11 11 - - - - - - - 11 +TrigSignatureMoniMT INFO -- #988149859 Features 24 17 14 0 13 13 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_idperf_tracktwo_L1TAU12IM #3346942453 -TrigSignatureMoniMT INFO -- #3346942453 Events 14 14 14 13 13 - - - - - - - - - - 13 -TrigSignatureMoniMT INFO -- #3346942453 Features 24 17 17 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #3346942453 Events 14 14 14 13 12 12 11 11 - - - - - - - 11 +TrigSignatureMoniMT INFO -- #3346942453 Features 24 17 14 14 13 13 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_looseRNN_tracktwoMVA_L1TAU12IM #169452969 -TrigSignatureMoniMT INFO -- #169452969 Events 14 14 12 11 9 - - - - - - - - - - 9 -TrigSignatureMoniMT INFO -- #169452969 Features 22 15 10 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #169452969 Events 14 14 12 11 10 0 9 8 - - - - - - - 8 +TrigSignatureMoniMT INFO -- #169452969 Features 22 15 12 0 11 9 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_looseRNN_tracktwo_L1TAU12IM #2490017573 -TrigSignatureMoniMT INFO -- #2490017573 Events 14 14 12 11 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2490017573 Features 22 15 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2490017573 Events 14 14 12 11 10 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2490017573 Features 22 15 12 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_medium1_tracktwoEF_L1TAU12IM #506456080 -TrigSignatureMoniMT INFO -- #506456080 Events 14 14 12 11 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #506456080 Features 22 15 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #506456080 Events 14 14 12 11 10 0 9 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #506456080 Features 22 15 12 0 11 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_medium1_tracktwoMVA_L1TAU12IM #4055280067 -TrigSignatureMoniMT INFO -- #4055280067 Events 14 14 12 11 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #4055280067 Features 22 15 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #4055280067 Events 14 14 12 11 10 0 9 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #4055280067 Features 22 15 12 0 11 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_medium1_tracktwo_L1TAU12IM #1433975745 -TrigSignatureMoniMT INFO -- #1433975745 Events 14 14 12 11 4 - - - - - - - - - - 4 -TrigSignatureMoniMT INFO -- #1433975745 Features 22 15 5 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1433975745 Events 14 14 12 11 10 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1433975745 Features 22 15 12 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_mediumRNN_tracktwoMVA_L1TAU12IM #2222894847 -TrigSignatureMoniMT INFO -- #2222894847 Events 14 14 12 11 5 - - - - - - - - - - 5 -TrigSignatureMoniMT INFO -- #2222894847 Features 22 15 5 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2222894847 Events 14 14 12 11 10 0 9 5 - - - - - - - 5 +TrigSignatureMoniMT INFO -- #2222894847 Features 22 15 12 0 11 5 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_mediumRNN_tracktwo_L1TAU12IM #698603885 -TrigSignatureMoniMT INFO -- #698603885 Events 14 14 12 11 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #698603885 Features 22 15 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #698603885 Events 14 14 12 11 10 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #698603885 Features 22 15 12 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_perf_tracktwoMVA_L1TAU12IM #112814536 -TrigSignatureMoniMT INFO -- #112814536 Events 14 14 14 13 13 - - - - - - - - - - 13 -TrigSignatureMoniMT INFO -- #112814536 Features 24 17 17 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #112814536 Events 14 14 14 13 12 0 11 11 - - - - - - - 11 +TrigSignatureMoniMT INFO -- #112814536 Features 24 17 14 0 13 13 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_perf_tracktwo_L1TAU12IM #1129072492 -TrigSignatureMoniMT INFO -- #1129072492 Events 14 14 14 13 13 - - - - - - - - - - 13 -TrigSignatureMoniMT INFO -- #1129072492 Features 24 17 17 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1129072492 Events 14 14 14 13 12 12 11 11 - - - - - - - 11 +TrigSignatureMoniMT INFO -- #1129072492 Features 24 17 14 14 13 13 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_tightRNN_tracktwoMVA_L1TAU12IM #2472860683 -TrigSignatureMoniMT INFO -- #2472860683 Events 14 14 12 11 4 - - - - - - - - - - 4 -TrigSignatureMoniMT INFO -- #2472860683 Features 22 15 4 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2472860683 Events 14 14 12 11 10 0 9 4 - - - - - - - 4 +TrigSignatureMoniMT INFO -- #2472860683 Features 22 15 12 0 11 4 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_tightRNN_tracktwo_L1TAU12IM #2537544560 -TrigSignatureMoniMT INFO -- #2537544560 Events 14 14 12 11 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2537544560 Features 22 15 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2537544560 Events 14 14 12 11 10 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2537544560 Features 22 15 12 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_verylooseRNN_tracktwoMVA_L1TAU12IM #2992830434 -TrigSignatureMoniMT INFO -- #2992830434 Events 14 14 12 11 9 - - - - - - - - - - 9 -TrigSignatureMoniMT INFO -- #2992830434 Features 22 15 10 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2992830434 Events 14 14 12 11 10 0 9 8 - - - - - - - 8 +TrigSignatureMoniMT INFO -- #2992830434 Features 22 15 12 0 11 9 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_verylooseRNN_tracktwo_L1TAU12IM #1275052132 -TrigSignatureMoniMT INFO -- #1275052132 Events 14 14 12 11 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1275052132 Features 22 15 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1275052132 Events 14 14 12 11 10 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1275052132 Features 22 15 12 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau35_mediumRNN_tracktwoMVA_L1TAU12IM #2456480859 -TrigSignatureMoniMT INFO -- #2456480859 Events 14 14 11 10 4 - - - - - - - - - - 4 -TrigSignatureMoniMT INFO -- #2456480859 Features 20 14 4 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2456480859 Events 14 14 11 10 9 0 8 4 - - - - - - - 4 +TrigSignatureMoniMT INFO -- #2456480859 Features 20 14 11 0 10 4 - - - - - - - TrigSignatureMoniMT INFO HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_L1DR-TAU20ITAU12I-J25 #1794354861 -TrigSignatureMoniMT INFO -- #1794354861 Events 6 6 6 3 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1794354861 Features 15 6 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1794354861 Events 6 6 6 3 2 0 2 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1794354861 Features 15 6 4 0 4 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau80_medium1_tracktwo_L1TAU60 #598963338 -TrigSignatureMoniMT INFO -- #598963338 Events 5 5 4 2 1 - - - - - - - - - - 1 -TrigSignatureMoniMT INFO -- #598963338 Features 5 2 1 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #598963338 Events 5 5 4 2 2 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #598963338 Features 5 2 2 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau80_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_L1TAU60_DR-TAU20ITAU12I #1075975502 -TrigSignatureMoniMT INFO -- #1075975502 Events 3 3 2 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1075975502 Features 6 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1075975502 Events 3 3 2 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1075975502 Features 6 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau80_mediumRNN_tracktwoMVA_tau60_mediumRNN_tracktwoMVA_L1TAU60_2TAU40 #400305971 -TrigSignatureMoniMT INFO -- #400305971 Events 3 3 2 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #400305971 Features 5 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #400305971 Events 3 3 2 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #400305971 Features 5 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tilecalib_laser_TilePEB_L1CALREQ2 #1063154655 TrigSignatureMoniMT INFO -- #1063154655 Events 0 0 0 - - - - - - - - - - - - 0 TrigSignatureMoniMT INFO -- #1063154655 Features 0 - - - - - - - - - - - - diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref index 742ffc99f4ef687734be68c8726cb85f20e76e3e..7659ab8e42e302955f520f745bdf18f9d85b0105 100644 --- a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref +++ b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref @@ -911,107 +911,107 @@ TrigSignatureMoniMT INFO HLT_sct_noise_SCTPEB_L1 TrigSignatureMoniMT INFO -- #3024203296 Events 20 20 20 - - - - - - - - - - - - 20 TrigSignatureMoniMT INFO -- #3024203296 Features 20 - - - - - - - - - - - - TrigSignatureMoniMT INFO HLT_tau0_perf_ptonly_L1TAU100 #2342716369 -TrigSignatureMoniMT INFO -- #2342716369 Events 20 20 0 0 - - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2342716369 Features 0 0 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2342716369 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2342716369 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau0_perf_ptonly_L1TAU12 #372992233 -TrigSignatureMoniMT INFO -- #372992233 Events 20 20 4 4 - - - - - - - - - - - 4 -TrigSignatureMoniMT INFO -- #372992233 Features 5 5 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #372992233 Events 20 20 4 4 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #372992233 Features 5 5 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau0_perf_ptonly_L1TAU60 #1376650121 -TrigSignatureMoniMT INFO -- #1376650121 Events 20 20 0 0 - - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1376650121 Features 0 0 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1376650121 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1376650121 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_idperf_track_L1TAU100 #714660857 -TrigSignatureMoniMT INFO -- #714660857 Events 20 20 0 0 - - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #714660857 Features 0 0 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #714660857 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #714660857 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_idperf_tracktwoMVA_L1TAU100 #2725693236 -TrigSignatureMoniMT INFO -- #2725693236 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2725693236 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2725693236 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2725693236 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_idperf_tracktwo_L1TAU100 #886074432 -TrigSignatureMoniMT INFO -- #886074432 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #886074432 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #886074432 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #886074432 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_medium1_tracktwoEF_L1TAU100 #1720193283 -TrigSignatureMoniMT INFO -- #1720193283 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1720193283 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1720193283 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1720193283 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_medium1_tracktwo_L1TAU100 #4069120574 -TrigSignatureMoniMT INFO -- #4069120574 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #4069120574 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #4069120574 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #4069120574 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_mediumRNN_tracktwoMVA_L1TAU100 #1747754287 -TrigSignatureMoniMT INFO -- #1747754287 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1747754287 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1747754287 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1747754287 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_perf_tracktwoMVA_L1TAU100 #2334140248 -TrigSignatureMoniMT INFO -- #2334140248 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2334140248 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2334140248 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2334140248 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau160_perf_tracktwo_L1TAU100 #1799096347 -TrigSignatureMoniMT INFO -- #1799096347 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1799096347 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1799096347 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1799096347 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau200_medium1_tracktwoEF_L1TAU100 #4203471951 -TrigSignatureMoniMT INFO -- #4203471951 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #4203471951 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #4203471951 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #4203471951 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau200_mediumRNN_tracktwoMVA_L1TAU100 #1468926272 -TrigSignatureMoniMT INFO -- #1468926272 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1468926272 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1468926272 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1468926272 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_idperf_track_L1TAU12IM #554271976 -TrigSignatureMoniMT INFO -- #554271976 Events 20 20 3 3 - - - - - - - - - - - 3 -TrigSignatureMoniMT INFO -- #554271976 Features 4 4 - - - - - - - - - - - +TrigSignatureMoniMT INFO -- #554271976 Events 20 20 3 3 0 3 3 3 - - - - - - - 3 +TrigSignatureMoniMT INFO -- #554271976 Features 4 4 0 4 3 3 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_idperf_tracktwoMVA_L1TAU12IM #988149859 -TrigSignatureMoniMT INFO -- #988149859 Events 20 20 3 3 3 - - - - - - - - - - 3 -TrigSignatureMoniMT INFO -- #988149859 Features 4 4 4 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #988149859 Events 20 20 3 3 3 0 3 3 - - - - - - - 3 +TrigSignatureMoniMT INFO -- #988149859 Features 4 4 3 0 3 3 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_idperf_tracktwo_L1TAU12IM #3346942453 -TrigSignatureMoniMT INFO -- #3346942453 Events 20 20 3 3 3 - - - - - - - - - - 3 -TrigSignatureMoniMT INFO -- #3346942453 Features 4 4 4 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #3346942453 Events 20 20 3 3 3 3 3 3 - - - - - - - 3 +TrigSignatureMoniMT INFO -- #3346942453 Features 4 4 3 3 3 3 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_looseRNN_tracktwoMVA_L1TAU12IM #169452969 -TrigSignatureMoniMT INFO -- #169452969 Events 20 20 3 3 2 - - - - - - - - - - 2 -TrigSignatureMoniMT INFO -- #169452969 Features 4 4 3 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #169452969 Events 20 20 3 3 3 0 3 2 - - - - - - - 2 +TrigSignatureMoniMT INFO -- #169452969 Features 4 4 3 0 3 2 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_looseRNN_tracktwo_L1TAU12IM #2490017573 -TrigSignatureMoniMT INFO -- #2490017573 Events 20 20 3 3 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2490017573 Features 4 4 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2490017573 Events 20 20 3 3 3 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2490017573 Features 4 4 3 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_medium1_tracktwoEF_L1TAU12IM #506456080 -TrigSignatureMoniMT INFO -- #506456080 Events 20 20 3 3 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #506456080 Features 4 4 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #506456080 Events 20 20 3 3 3 0 3 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #506456080 Features 4 4 3 0 3 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_medium1_tracktwoMVA_L1TAU12IM #4055280067 -TrigSignatureMoniMT INFO -- #4055280067 Events 20 20 3 3 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #4055280067 Features 4 4 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #4055280067 Events 20 20 3 3 3 0 3 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #4055280067 Features 4 4 3 0 3 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_medium1_tracktwo_L1TAU12IM #1433975745 -TrigSignatureMoniMT INFO -- #1433975745 Events 20 20 3 3 2 - - - - - - - - - - 2 -TrigSignatureMoniMT INFO -- #1433975745 Features 4 4 2 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1433975745 Events 20 20 3 3 3 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1433975745 Features 4 4 3 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_mediumRNN_tracktwoMVA_L1TAU12IM #2222894847 -TrigSignatureMoniMT INFO -- #2222894847 Events 20 20 3 3 2 - - - - - - - - - - 2 -TrigSignatureMoniMT INFO -- #2222894847 Features 4 4 2 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2222894847 Events 20 20 3 3 3 0 3 1 - - - - - - - 1 +TrigSignatureMoniMT INFO -- #2222894847 Features 4 4 3 0 3 1 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_mediumRNN_tracktwo_L1TAU12IM #698603885 -TrigSignatureMoniMT INFO -- #698603885 Events 20 20 3 3 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #698603885 Features 4 4 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #698603885 Events 20 20 3 3 3 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #698603885 Features 4 4 3 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_perf_tracktwoMVA_L1TAU12IM #112814536 -TrigSignatureMoniMT INFO -- #112814536 Events 20 20 3 3 3 - - - - - - - - - - 3 -TrigSignatureMoniMT INFO -- #112814536 Features 4 4 4 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #112814536 Events 20 20 3 3 3 0 3 3 - - - - - - - 3 +TrigSignatureMoniMT INFO -- #112814536 Features 4 4 3 0 3 3 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_perf_tracktwo_L1TAU12IM #1129072492 -TrigSignatureMoniMT INFO -- #1129072492 Events 20 20 3 3 3 - - - - - - - - - - 3 -TrigSignatureMoniMT INFO -- #1129072492 Features 4 4 4 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1129072492 Events 20 20 3 3 3 3 3 3 - - - - - - - 3 +TrigSignatureMoniMT INFO -- #1129072492 Features 4 4 3 3 3 3 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_tightRNN_tracktwoMVA_L1TAU12IM #2472860683 -TrigSignatureMoniMT INFO -- #2472860683 Events 20 20 3 3 2 - - - - - - - - - - 2 -TrigSignatureMoniMT INFO -- #2472860683 Features 4 4 2 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2472860683 Events 20 20 3 3 3 0 3 1 - - - - - - - 1 +TrigSignatureMoniMT INFO -- #2472860683 Features 4 4 3 0 3 1 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_tightRNN_tracktwo_L1TAU12IM #2537544560 -TrigSignatureMoniMT INFO -- #2537544560 Events 20 20 3 3 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #2537544560 Features 4 4 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2537544560 Events 20 20 3 3 3 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #2537544560 Features 4 4 3 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_verylooseRNN_tracktwoMVA_L1TAU12IM #2992830434 -TrigSignatureMoniMT INFO -- #2992830434 Events 20 20 3 3 2 - - - - - - - - - - 2 -TrigSignatureMoniMT INFO -- #2992830434 Features 4 4 3 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2992830434 Events 20 20 3 3 3 0 3 2 - - - - - - - 2 +TrigSignatureMoniMT INFO -- #2992830434 Features 4 4 3 0 3 2 - - - - - - - TrigSignatureMoniMT INFO HLT_tau25_verylooseRNN_tracktwo_L1TAU12IM #1275052132 -TrigSignatureMoniMT INFO -- #1275052132 Events 20 20 3 3 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1275052132 Features 4 4 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1275052132 Events 20 20 3 3 3 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1275052132 Features 4 4 3 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau35_mediumRNN_tracktwoMVA_L1TAU12IM #2456480859 -TrigSignatureMoniMT INFO -- #2456480859 Events 20 20 3 3 2 - - - - - - - - - - 2 -TrigSignatureMoniMT INFO -- #2456480859 Features 4 4 2 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #2456480859 Events 20 20 3 3 3 0 3 1 - - - - - - - 1 +TrigSignatureMoniMT INFO -- #2456480859 Features 4 4 3 0 3 1 - - - - - - - TrigSignatureMoniMT INFO HLT_tau35_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_L1DR-TAU20ITAU12I-J25 #1794354861 -TrigSignatureMoniMT INFO -- #1794354861 Events 20 20 1 1 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1794354861 Features 2 2 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1794354861 Events 20 20 1 1 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1794354861 Features 2 2 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau80_medium1_tracktwo_L1TAU60 #598963338 -TrigSignatureMoniMT INFO -- #598963338 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #598963338 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #598963338 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #598963338 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau80_mediumRNN_tracktwoMVA_tau35_mediumRNN_tracktwoMVA_L1TAU60_DR-TAU20ITAU12I #1075975502 -TrigSignatureMoniMT INFO -- #1075975502 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #1075975502 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #1075975502 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #1075975502 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tau80_mediumRNN_tracktwoMVA_tau60_mediumRNN_tracktwoMVA_L1TAU60_2TAU40 #400305971 -TrigSignatureMoniMT INFO -- #400305971 Events 20 20 0 0 0 - - - - - - - - - - 0 -TrigSignatureMoniMT INFO -- #400305971 Features 0 0 0 - - - - - - - - - - +TrigSignatureMoniMT INFO -- #400305971 Events 20 20 0 0 0 0 0 0 - - - - - - - 0 +TrigSignatureMoniMT INFO -- #400305971 Features 0 0 0 0 0 0 - - - - - - - TrigSignatureMoniMT INFO HLT_tilecalib_laser_TilePEB_L1CALREQ2 #1063154655 TrigSignatureMoniMT INFO -- #1063154655 Events 20 20 20 - - - - - - - - - - - - 20 TrigSignatureMoniMT INFO -- #1063154655 Features 20 - - - - - - - - - - - - diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index f49035203bcb110d0c94d1457002ca6834e4f265..30031821161bb8b6cae509da3aad0e34e9ae4fc5 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -252,7 +252,7 @@ TriggerHLTListRun3 = [ ('xAOD::TrackParticleContainer#HLT_IDTrack_TauCore_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFCoreViews'), ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_TauCore_FTFAux.', 'BS ESD AODFULL', 'Tau'), - ('xAOD::TrackParticleContainer#HLT_IDTrack_TauIso_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIsoViews,TAUEFViews,TAUFTFTrackTwoViews'), + ('xAOD::TrackParticleContainer#HLT_IDTrack_TauIso_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIsoViews,TAUEFViews'), ('xAOD::TrackParticleAuxContainer#HLT_IDTrack_TauIso_FTFAux.', 'BS ESD AODFULL', 'Tau'), ('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews'), @@ -266,7 +266,7 @@ TriggerHLTListRun3 = [ ('TrigRoiDescriptorCollection#HLT_Roi_Tau', 'BS ESD AODFULL AODSLIM', 'Steer'), ('TrigRoiDescriptorCollection#HLT_Roi_TauCore_MVA', 'BS ESD AODFULL AODSLIM', 'Steer'), ('TrigRoiDescriptorCollection#HLT_Roi_TauCore', 'BS ESD AODFULL AODSLIM', 'Steer'), - ('TrigRoiDescriptorCollection#HLT_Roi_TauIso_TauID', 'BS ESD AODFULL AODSLIM', 'Steer'), + ('TrigRoiDescriptorCollection#HLT_Roi_TauIso', 'BS ESD AODFULL AODSLIM', 'Steer'), ('TrigRoiDescriptorCollection#HLT_Roi_TauID', 'BS ESD AODFULL AODSLIM', 'Steer'), ('xAOD::JetContainer#HLT_jet_seed', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUCaloViews,TAUCaloMVAViews'), @@ -410,10 +410,10 @@ TriggerHLTListRun3 = [ #('xAOD::TauJetContainer#HLT_TrigTauRecMerged_CaloOnlyMVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUCaloMVAViews'), #('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_CaloOnlyMVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), - ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIsoViews,TAUEFViews'), + ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUMVAViews,TAUEFViews'), ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_MVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), - ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews,TAUFTFTrackViews,TAUFTFTrackTwoViews'), + ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews,TAUFTFTrackViews,TAUTrackTwoViews'), ('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_PrecisionAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), ('xAOD::TauJetContainer#HLT_TrigTauRecMerged_Presel', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFTrackViews'), @@ -424,9 +424,9 @@ TriggerHLTListRun3 = [ ('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersLCAux.nCells' ,'BS ESD AODFULL', 'Tau'), # tau tracks - ('xAOD::TauTrackContainer#HLT_tautrack_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIsoViews,TAUEFViews'), + ('xAOD::TauTrackContainer#HLT_tautrack_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUMVAViews,TAUEFViews'), ('xAOD::TauTrackAuxContainer#HLT_tautrack_MVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), - ('xAOD::TauTrackContainer#HLT_tautrack_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews,TAUFTFTrackViews,TAUFTFTrackTwoViews'), + ('xAOD::TauTrackContainer#HLT_tautrack_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews,TAUFTFTrackViews'), ('xAOD::TauTrackAuxContainer#HLT_tautrack_PrecisionAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), ('xAOD::TauTrackContainer#HLT_tautrack_Presel', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFTrackViews'), ('xAOD::TauTrackAuxContainer#HLT_tautrack_PreselAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py index fe0e8b03237a1fda7fe3233661a526543c6c177b..b2ef5d75c6835feabfc19a0938f1acc7105b6ec2 100755 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration ######################################################################## # @@ -11,35 +11,53 @@ log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.Tau.TauChainConfiguration") from TriggerMenuMT.HLTMenuConfig.Menu.ChainConfigurationBase import ChainConfigurationBase -from TriggerMenuMT.HLTMenuConfig.Tau.TauMenuSequences import tauCaloMenuSequence, tauCaloMVAMenuSequence, tauTwoStepTrackSeqCore, tauTwoStepTrackSeqIso, tauIdTrackSeq, tauTrackSeq, tauTrackTwoSeq, tauTrackTwoEFSeq +from TriggerMenuMT.HLTMenuConfig.Tau.TauMenuSequences import tauCaloMenuSeq, tauCaloMVAMenuSeq, tauFTFTauSeq, tauFTFTauCoreSeq, tauFTFTauIsoSeq, tauIDPrecSeq, tauTrackPrecSeq, tauTrackTwoPrecSeq, tauTrackTwoEFSeq, tauTrackTwoMVASeq, tauPreSelSeq, tauPreSelTTSeq, tauPrecTrackSeq, tauPrecTrackIsoSeq #-------------------------------------------------------- # fragments generating config will be functions in new JO #-------------------------------------------------------- def getTauCaloCfg(flags): - return tauCaloMenuSequence("Tau") + return tauCaloMenuSeq("Tau") def getTauCaloMVACfg(flags): - return tauCaloMVAMenuSequence("Tau") + return tauCaloMVAMenuSeq("Tau") -def getTauTrackCfg(flags): - return tauTrackSeq() +def getFTFTauCfg(flags): + return tauFTFTauSeq() -def getTauTrackTwoCfg(flags): - return tauTrackTwoSeq() +def getFTFCoreCfg(flags): + return tauFTFTauCoreSeq() -def getTauIdTrackCfg(flags): - return tauIdTrackSeq() +def getFTFIsoCfg(flags): + return tauFTFTauIsoSeq() -def getTauFastTrackCfg(flags): - return tauTwoStepTrackSeqCore() +def getIDPrecCfg(flags): + return tauIDPrecSeq() -def getTauIsoTrackCfg(flags): - return tauTwoStepTrackSeqIso() +def getTrackPrecCfg(flags): + return tauTrackPrecSeq() -def getTauTrackTwoEFCfg(flags): +def getTrackTwoPrecCfg(flags): + return tauTrackTwoPrecSeq() + +def getTrackTwoEFCfg(flags): return tauTrackTwoEFSeq() +def getTrackTwoMVACfg(flags): + return tauTrackTwoMVASeq() + +def getPreSelCfg(flags): + return tauPreSelSeq() + +def getPreSelTTCfg(flags): + return tauPreSelTTSeq() + +def getPrecTrackCfg(flags): + return tauPrecTrackSeq() + +def getPrecTrackIsoCfg(flags): + return tauPrecTrackIsoSeq() + ############################################# ### Class/function to configure muon chains ############################################# @@ -60,11 +78,11 @@ class TauChainConfiguration(ChainConfigurationBase): # define here the names of the steps and obtain the chainStep configuration # -------------------- stepDictionary = { - "ptonly" :['getCaloSeq' , 'getIdTrack' ], - "track" :['getCaloSeq' , 'getTrack' ], - "tracktwo" :['getCaloSeq' , 'getFastTrack' , 'getTrackTwo'], - "tracktwoEF" :['getCaloSeq' , 'getFastTrack' , 'getTrack2EF'], - "tracktwoMVA":['getCaloMVASeq', 'getFastTrack' , 'getTrackIso'], + "ptonly" :['getCaloSeq' , 'getFTFTau' , 'getTrkEmpty' , 'getTauEmpty' , 'getPrecTrack' , 'getIDPrec' ], + "track" :['getCaloSeq' , 'getFTFTau' , 'getTrkEmpty' , 'getPreSel' , 'getPrecTrack' , 'getTrackPrec' ], + "tracktwo" :['getCaloSeq' , 'getFTFCore' , 'getFTFIso' , 'getPreSelTT' , 'getPrecTrackIso' , 'getTrackTwoPrec'], + "tracktwoEF" :['getCaloSeq' , 'getFTFCore' , 'getFTFIso' , 'getTauEmpty' , 'getPrecTrackIso' , 'getTrackTwoEF' ], + "tracktwoMVA":['getCaloMVASeq', 'getFTFCore' , 'getFTFIso' , 'getTauEmpty' , 'getPrecTrackIso' , 'getTrackTwoMVA' ], } # this should be extended by the signature expert to make full use of the dictionary! @@ -88,32 +106,72 @@ class TauChainConfiguration(ChainConfigurationBase): stepName = 'MVA_tau' return self.getStep(1,stepName, [getTauCaloMVACfg]) - # -------------------- - def getTrack(self): - stepName = 'Track_tau' - return self.getStep(2,stepName, [getTauTrackCfg]) - - # -------------------- - def getTrackTwo(self): - stepName = 'TrackTwo_tau' - return self.getStep(3,stepName, [getTauTrackTwoCfg]) - - # -------------------- - def getIdTrack(self): - stepName = 'FTId_tau' - return self.getStep(2,stepName, [getTauIdTrackCfg]) + # -------------------- + def getFTFTau(self): + stepName = 'FTFTau_tau' + return self.getStep(2,stepName, [getFTFTauCfg]) # -------------------- - def getFastTrack(self): - stepName = 'FT_tau' - return self.getStep(2,stepName, [getTauFastTrackCfg]) + def getFTFCore(self): + stepName = 'FTFCore_tau' + return self.getStep(2,stepName, [getFTFCoreCfg]) + + # -------------------- + def getFTFIso(self): + stepName = 'FTFIso_tau' + return self.getStep(3,stepName, [getFTFIsoCfg]) + + # -------------------- + def getTrkEmpty(self): + stepName = 'TrkEmpty_tau' + return self.getEmptyStep(3,stepName) + + # -------------------- + def getPreSel(self): + stepName = 'PreSel_tau' + return self.getStep(4,stepName, [getPreSelCfg]) + + # -------------------- + def getPreSelTT(self): + stepName = 'PreSelTT_tau' + return self.getStep(4,stepName, [getPreSelTTCfg]) + + # -------------------- + def getTauEmpty(self): + stepName = 'TauEmpty_tau' + return self.getEmptyStep(4,stepName) + + # -------------------- + def getPrecTrack(self): + stepName = 'PrecTrk_tau' + return self.getStep(5,stepName,[getPrecTrackCfg]) + + # -------------------- + def getPrecTrackIso(self): + stepName = 'PrecTrkIso_tau' + return self.getStep(5,stepName,[getPrecTrackIsoCfg]) + + # -------------------- + def getIDPrec(self): + stepName = 'IDPrec_tau' + return self.getStep(6,stepName, [getIDPrecCfg]) # -------------------- - def getTrackIso(self): - stepName = 'FTIso_tau' - return self.getStep(3,stepName, [getTauIsoTrackCfg]) - - # -------------------- - def getTrack2EF(self): - stepName = 'FTEF_tau' - return self.getStep(3, stepName, [getTauTrackTwoEFCfg]) + def getTrackPrec(self): + stepName = 'TrkPrec_tau' + return self.getStep(6,stepName, [getTrackPrecCfg]) + + # -------------------- + def getTrackTwoPrec(self): + stepName = 'TrkTwo_tau' + return self.getStep(6,stepName, [getTrackTwoPrecCfg]) + + # -------------------- + def getTrackTwoEF(self): + stepName = 'TrkTwoEF_tau' + return self.getStep(6, stepName, [getTrackTwoEFCfg]) + + # -------------------- + def getTrackTwoMVA(self): + stepName = 'TrkTwoMVA_tau' + return self.getStep(6, stepName, [getTrackTwoMVACfg]) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py index 1f90c5af2bbabc8247a5caab8063e6b637d31bc6..a9034d9331acf7cd12d9a0a0ac7c79339d616dfa 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py @@ -1,5 +1,5 @@ # -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration # from AthenaConfiguration.AllConfigFlags import ConfigFlags @@ -7,13 +7,13 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags # menu components from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, RecoFragmentsPool -from TriggerMenuMT.HLTMenuConfig.Tau.TauRecoSequences import tauCaloSequence, tauCaloMVASequence, tauFTFCoreSequence, tauFTFIsoSequence, tauFTFIdSequence, tauFTFTrackSequence, tauFTFTrackTwoSequence, tauEFSequence +from TriggerMenuMT.HLTMenuConfig.Tau.TauRecoSequences import tauCaloSequence, tauCaloMVASequence, tauFTFCoreSequence, tauFTFTauSequence, tauFTFIsoSequence, tauIDSequence, tauTrackSequence, tauTrackTwoSequence, tauEFSequence, tauMVASequence, tauPreSelSequence, tauPreSelTTSequence, tauPrecTrackSequence, tauPrecIsoTrackSequence # ==================================================================================================== # Get MenuSequences # ==================================================================================================== -def getTauSequence( step ): +"""def getTauSequence( step ): if step == "calo": return tauCaloMenuSequence("Tau") if step == "calo_mva": @@ -22,13 +22,13 @@ def getTauSequence( step ): return tauTwoStepTrackSeqCore() if step == "track_twostep_iso": return tauTwoStepTrackSeqIso() - return None + return None""" # =============================================================================================== # Calo step # =============================================================================================== -def tauCaloMenuSequence(name): +def tauCaloMenuSeq(name): (sequence, tauCaloViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauCaloSequence,ConfigFlags) # hypo @@ -47,7 +47,7 @@ def tauCaloMenuSequence(name): # Calo MVA step # =============================================================================================== -def tauCaloMVAMenuSequence(name): +def tauCaloMVAMenuSeq(name): (sequence, tauCaloMVAViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauCaloMVASequence,ConfigFlags) # hypo @@ -63,12 +63,89 @@ def tauCaloMVAMenuSequence(name): HypoToolGen = TrigL2TauHypoToolFromDict ) # =============================================================================================== -# Fast track (ID trig) + precision tracking + EFMVHypo step +# Fast track finder (core) + TrackRoI Updater + RejectEmpty Hypo step (tracktwo, tracktwoEF, tracktwoMVA) +# =============================================================================================== + +def tauFTFTauCoreSeq(): + (sequence, ftfCoreViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFCoreSequence,ConfigFlags) + + from TrigTauHypo.TrigTauHypoConf import TrigTrackPreSelHypoAlgMT + fastTrkHypo = TrigTrackPreSelHypoAlgMT("TrackPreSelHypoAlg_RejectEmpty") + fastTrkHypo.trackcollection = sequenceOut + + from TrigTauHypo.TrigTauHypoTool import TrigTauTrackHypoToolFromDict + + return MenuSequence( Sequence = sequence, + Maker = ftfCoreViewsMaker, + Hypo = fastTrkHypo, + HypoToolGen = TrigTauTrackHypoToolFromDict ) + + +# =============================================================================================== +# Fast track finder (tau) + Dummy Hypo step (ptOnly, track) +# =============================================================================================== + +def tauFTFTauSeq(): + (sequence, ftfTauViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFTauSequence,ConfigFlags) + + from TrigTauHypo.TrigTauHypoConf import TrigTrackPreSelHypoAlgMT + fastTrkHypo = TrigTrackPreSelHypoAlgMT("TrackPreSelHypoAlg_PassByTau") + fastTrkHypo.trackcollection = sequenceOut + fastTrkHypo.RoIForIDReadHandleKey = "" + #fastTrkHypo.AcceptAll = True + + from TrigTauHypo.TrigTauHypoTool import TrigTauTrackHypoToolFromDict + + return MenuSequence( Sequence = sequence, + Maker = ftfTauViewsMaker, + Hypo = fastTrkHypo, + HypoToolGen = TrigTauTrackHypoToolFromDict ) + +# =============================================================================================== +# Fast track finder (iso) + Dummy Hypo step (tracktwo, tracktwoEF, tracktwoMVA) +# =============================================================================================== + +def tauFTFTauIsoSeq(): + (sequence, ftfIsoViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFIsoSequence,ConfigFlags ) + + from TrigTauHypo.TrigTauHypoConf import TrigTrackPreSelHypoAlgMT + fastTrkHypo = TrigTrackPreSelHypoAlgMT("TrackPreSelHypoAlg_PassByIso") + fastTrkHypo.trackcollection = sequenceOut + #fastTrkHypo.AcceptAll = True + + from TrigTauHypo.TrigTauHypoTool import TrigTauTrackHypoToolFromDict + + return MenuSequence( Sequence = sequence, + Maker = ftfIsoViewsMaker, + Hypo = fastTrkHypo, + HypoToolGen = TrigTauTrackHypoToolFromDict ) + + +# =============================================================================================== +# Precision tracking + Tau Precision Alg + EFMVHypo step (pTonly) # =============================================================================================== -def tauTrackSeq(): +def tauIDPrecSeq(): + (sequence, tauIDViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauIDSequence,ConfigFlags ) + + from TrigTauHypo.TrigTauHypoConf import TrigEFTauMVHypoAlgMT + precisionHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoId") + precisionHypo.taujetcontainer = sequenceOut + + from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict + + return MenuSequence( Sequence = sequence, + Maker = tauIDViewsMaker, + Hypo = precisionHypo, + HypoToolGen = TrigEFTauMVHypoToolFromDict ) + + +# =============================================================================================== +# Tau Preselection Alg + Precision Tracking + Tau Precision Alg + EFMVHypo step (track) +# =============================================================================================== - (sequence, ftfTrackViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFTrackSequence,ConfigFlags ) +def tauTrackPrecSeq(): + (sequence, tauTrackViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauTrackSequence,ConfigFlags ) from TrigTauHypo.TrigTauHypoConf import TrigEFTauMVHypoAlgMT precisionHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoTrack") @@ -77,17 +154,16 @@ def tauTrackSeq(): from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict return MenuSequence( Sequence = sequence, - Maker = ftfTrackViewsMaker, + Maker = tauTrackViewsMaker, Hypo = precisionHypo, HypoToolGen = TrigEFTauMVHypoToolFromDict ) # =============================================================================================== -# Fast track (ID trig) + precision tracking + EFMVHypo step +# Tau Preselection Alg + Precision Tracking + Tau Precision Alg + EFMVHypo step (tracktwo) # =============================================================================================== -def tauTrackTwoSeq(): - - (sequence, ftfTrackTwoViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFTrackTwoSequence,ConfigFlags ) +def tauTrackTwoPrecSeq(): + (sequence, trackTwoViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauTrackTwoSequence,ConfigFlags ) from TrigTauHypo.TrigTauHypoConf import TrigEFTauMVHypoAlgMT precisionHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoTrackTwo") @@ -96,87 +172,118 @@ def tauTrackTwoSeq(): from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict return MenuSequence( Sequence = sequence, - Maker = ftfTrackTwoViewsMaker, + Maker = trackTwoViewsMaker, Hypo = precisionHypo, HypoToolGen = TrigEFTauMVHypoToolFromDict ) +# =============================================================================================== +# Precision Tracking + Tau Precision Alg + EFMVHypo step (tracktwoEF) +# =============================================================================================== + +def tauTrackTwoEFSeq(): + (sequence, efViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauEFSequence,ConfigFlags ) + + from TrigTauHypo.TrigTauHypoConf import TrigEFTauMVHypoAlgMT + precisionHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoAlg") + precisionHypo.taujetcontainer = sequenceOut + + from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict + + return MenuSequence( Sequence = sequence, + Maker = efViewsMaker, + Hypo = precisionHypo, + HypoToolGen = TrigEFTauMVHypoToolFromDict ) # =============================================================================================== -# Fast track (ID trig) + precision tracking + EFMVHypo step +# Precision Tracking + Tau Precision MVA Alg + EFMVHypo step (tracktwoMVA) # =============================================================================================== -def tauIdTrackSeq(): - - (sequence, ftfIdViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFIdSequence,ConfigFlags ) +def tauTrackTwoMVASeq(): + (sequence, mvaViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauMVASequence,ConfigFlags ) from TrigTauHypo.TrigTauHypoConf import TrigEFTauMVHypoAlgMT - precisionHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoId") + precisionHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoAlgMVA") precisionHypo.taujetcontainer = sequenceOut from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict return MenuSequence( Sequence = sequence, - Maker = ftfIdViewsMaker, + Maker = mvaViewsMaker, Hypo = precisionHypo, HypoToolGen = TrigEFTauMVHypoToolFromDict ) +# =============================================================================================== +# Tau Preselection + EFMVHypo step (track, tracktwo) +# =============================================================================================== -# =============================================================================================== -# Fast track core + RejectEmpty Hypo step (tracktwo, tracktwoEF, tracktwoMVA) -# =============================================================================================== - -def tauTwoStepTrackSeqCore(): - (sequence, ftfCoreViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFCoreSequence,ConfigFlags) +def tauPreSelSeq(): + (sequence, preSelViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauPreSelSequence,ConfigFlags ) - from TrigTauHypo.TrigTauHypoConf import TrigTrackPreSelHypoAlgMT - fastTrkHypo = TrigTrackPreSelHypoAlgMT("TrackPreSelHypoAlg_RejectEmpty") - fastTrkHypo.trackcollection = sequenceOut + from TrigTauHypo.TrigTauHypoConf import TrigEFTauMVHypoAlgMT + preSelHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoAlgPreSel") + preSelHypo.taujetcontainer = sequenceOut - from TrigTauHypo.TrigTauHypoTool import TrigTauTrackHypoToolFromDict + from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict return MenuSequence( Sequence = sequence, - Maker = ftfCoreViewsMaker, - Hypo = fastTrkHypo, - HypoToolGen = TrigTauTrackHypoToolFromDict ) - -# =============================================================================================== -# -# =============================================================================================== + Maker = preSelViewsMaker, + Hypo = preSelHypo, + HypoToolGen = TrigEFTauMVHypoToolFromDict ) +# =============================================================================================== +# Tau Preselection + EFMVHypo step (track, tracktwo) +# =============================================================================================== -def tauTwoStepTrackSeqIso(): - (sequence, ftfIsoViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauFTFIsoSequence,ConfigFlags ) +def tauPreSelTTSeq(): + (sequence, preSelViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauPreSelTTSequence,ConfigFlags ) from TrigTauHypo.TrigTauHypoConf import TrigEFTauMVHypoAlgMT - precisionHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoAlgFinal") - precisionHypo.taujetcontainer = sequenceOut + preSelHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoAlgPreSelTT") + preSelHypo.taujetcontainer = sequenceOut from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict return MenuSequence( Sequence = sequence, - Maker = ftfIsoViewsMaker, - Hypo = precisionHypo, + Maker = preSelViewsMaker, + Hypo = preSelHypo, HypoToolGen = TrigEFTauMVHypoToolFromDict ) +# =============================================================================================== +# Precision Tracking + TrkPrecHypo step (tracktwoMVA) +# =============================================================================================== -# =============================================================================================== -# -# =============================================================================================== +def tauPrecTrackSeq(): + (sequence, precTrackViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauPrecTrackSequence,ConfigFlags ) + from TrigTauHypo.TrigTauHypoConf import TrigTrkPrecHypoAlgMT + precTrkHypo = TrigTrkPrecHypoAlgMT("TrkPrecHypoAlg") + precTrkHypo.trackparticles = sequenceOut + precTrkHypo.RoIForIDReadHandleKey = "" -def tauTrackTwoEFSeq(): + from TrigTauHypo.TrigTauHypoTool import TrigTrkPrecHypoToolFromDict - (sequence, efViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauEFSequence,ConfigFlags ) + return MenuSequence( Sequence = sequence, + Maker = precTrackViewsMaker, + Hypo = precTrkHypo, + HypoToolGen = TrigTrkPrecHypoToolFromDict ) - from TrigTauHypo.TrigTauHypoConf import TrigEFTauMVHypoAlgMT - precisionHypo = TrigEFTauMVHypoAlgMT("EFTauMVHypoAlg") - precisionHypo.taujetcontainer = sequenceOut +# =============================================================================================== +# Precision Tracking + TrkPrecHypo step (tracktwoMVA) +# =============================================================================================== - from TrigTauHypo.TrigTauHypoTool import TrigEFTauMVHypoToolFromDict +def tauPrecTrackIsoSeq(): + (sequence, precTrackViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(tauPrecIsoTrackSequence,ConfigFlags ) + + from TrigTauHypo.TrigTauHypoConf import TrigTrkPrecHypoAlgMT + precTrkHypo = TrigTrkPrecHypoAlgMT("TrkPrecIsoHypoAlg") + precTrkHypo.trackparticles = sequenceOut + precTrkHypo.RoIForIDReadHandleKey = "" + + from TrigTauHypo.TrigTauHypoTool import TrigTrkPrecHypoToolFromDict return MenuSequence( Sequence = sequence, - Maker = efViewsMaker, - Hypo = precisionHypo, - HypoToolGen = TrigEFTauMVHypoToolFromDict ) + Maker = precTrackViewsMaker, + Hypo = precTrkHypo, + HypoToolGen = TrigTrkPrecHypoToolFromDict ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py index b2013da9d8f0c56a2ee753e917d478fd9c25737f..ae4748cd2862b89c78e57e35f07f835358f39cfb 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py @@ -5,7 +5,7 @@ from AthenaCommon.CFElements import parOR, seqAND from AthenaCommon.GlobalFlags import globalflags from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm -from DecisionHandling.DecisionHandlingConf import ViewCreatorInitialROITool, ViewCreatorFetchFromViewROITool +from DecisionHandling.DecisionHandlingConf import ViewCreatorInitialROITool, ViewCreatorFetchFromViewROITool, ViewCreatorPreviousROITool from TrigT2CaloCommon.CaloDef import HLTLCTopoRecoSequence from TrigEDMConfig.TriggerEDMRun3 import recordable from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import RecoFragmentsPool @@ -16,22 +16,36 @@ import AthenaCommon.CfgMgr as CfgMgr #Based on these names specific ID config is retrieved #This utilizes name of the reco sequence from which checks specific string pattern def _getTauSignatureShort( name ): - #Do we want to set empty string as dummy? Some assert check instead? signature = "" - if "FTFId" in name: - signature = 'tauId' - elif "FTFTrackInView" in name: - signature = 'tauTrk' - elif "FTFTrackTwo" in name: - signature = 'tauTrkTwo' + if "FTFTau" in name: + signature = 'tauTau' + signatureID = 'tauTau' + elif "FTFCore" in name: + signature = 'tauCore' + signatureID = 'tauCore' elif "FTFIso" in name: signature = 'tauIso' + signatureID = 'tauIso' + elif "TrackInView" in name: + signature = 'tauTrk' + signatureID = 'tauTau' + elif "TrackTwo" in name: + signature = 'tauTrkTwo' + signatureID = 'tauIso' + elif "tauId" in name: + signature = 'tauId' + signatureID = 'tauTau' elif "EF" in name: signature = 'tauEF' + signatureID = 'tauIso' + elif "MVA" in name: + signature = 'tauMVA' + signatureID = 'tauIso' + else: + raise Exception( "getTauSignatureShort() called with incorrect non existent slice: "+name ) + return None - #Append tauCore? - return signature - + return signature, signatureID def _algoTauRoiUpdater(inputRoIs, clusters): from TrigTauHypo.TrigTauHypoConf import TrigTauCaloRoiUpdaterMT @@ -89,7 +103,7 @@ def _algoTauPreselection(inputRoIs, tracks, step): algo.Key_trigTauTrackInputContainer = "HLT_tautrack_dummy" algo.Key_trigTauJetOutputContainer = recordable("HLT_TrigTauRecMerged_Presel") algo.Key_trigTauTrackOutputContainer = recordable("HLT_tautrack_Presel") - return algo + return algo def _algoTauPrecision(inputRoIs, tracks, step): from TrigTauRec.TrigTauRecConfigMT import TrigTauRecMerged_TauPrecision @@ -198,54 +212,117 @@ def tauCaloMVASequence(ConfigFlags): tauCaloMVASequence = seqAND("tauCaloMVASequence", [tauCaloMVAViewsMaker, tauCaloMVAInViewSequence ]) return (tauCaloMVASequence, tauCaloMVAViewsMaker, sequenceOut) -def tauIdTrackSequence( RoIs , name): +def preSelSequence( RoIs, name): + + tauPreSelSequence = seqAND(name) + + signatureName, signatureNameID = _getTauSignatureShort( name ) + from TrigInDetConfig.ConfigSettings import getInDetTrigConfig + IDTrigConfig = getInDetTrigConfig( signatureNameID ) + + ViewVerifyPreSel = CfgMgr.AthViews__ViewDataVerifier("tauPSViewDataVerifier_"+signatureName) + ViewVerifyPreSel.DataObjects = [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+TAUCaloRoIs' ), + ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+RoiForTau' ), + ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+RoiForTauIso' ), + ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.AveIntPerXDecor' ), + ( 'xAOD::TauTrackContainer' , 'StoreGateSvc+HLT_tautrack_dummy' ), + ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly' ), + ( 'xAOD::TrackParticleContainer' , 'StoreGateSvc+HLT_IDTrack_Tau_FTF' ), + ( 'xAOD::TrackParticleContainer' , 'StoreGateSvc+HLT_IDTrack_TauIso_FTF' )] + + + tauPreSelSequence += ViewVerifyPreSel + + if "TrackInView" in name: + tauPreselectionAlg = _algoTauPreselection(inputRoIs = RoIs, tracks = IDTrigConfig.FT.tracksFTF(), step = "Track") + if "TrackTwo" in name: + tauPreselectionAlg = _algoTauPreselection(inputRoIs = RoIs, tracks = IDTrigConfig.FT.tracksFTF(), step = "TrackTwo") + + tauPreSelSequence += tauPreselectionAlg + + sequenceOut = tauPreselectionAlg.Key_trigTauJetOutputContainer + + return tauPreSelSequence, sequenceOut + + +def tauIdSequence( RoIs, name): - tauIdTrackSequence = seqAND(name) + tauIdSequence = seqAND(name) - signatureName = _getTauSignatureShort( name ) + signatureName, signatureNameID = _getTauSignatureShort( name ) from TrigInDetConfig.ConfigSettings import getInDetTrigConfig - IDTrigConfig = getInDetTrigConfig( signatureName ) + IDTrigConfig = getInDetTrigConfig( signatureNameID ) + + ViewVerifyId = CfgMgr.AthViews__ViewDataVerifier("tauIdViewDataVerifier_"+signatureName) + ViewVerifyId.DataObjects = [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+TAUCaloRoIs' ), + ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+'+RoIs ), + ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+RoiForTauCore' ), + ( 'xAOD::TauTrackContainer' , 'StoreGateSvc+HLT_tautrack_Presel'), + ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.AveIntPerXDecor' ), + ( 'xAOD::TauTrackContainer' , 'StoreGateSvc+HLT_tautrack_dummy' ), + ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly' ), + ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_Presel' ), + ( 'xAOD::TrackParticleContainer' , 'StoreGateSvc+'+IDTrigConfig.PT.tracksPT() )] + + tauIdSequence+= ViewVerifyId + + tauPrecisionAlg = "" + + if "Id" in name: + tauPrecisionAlg = _algoTauPrecision(inputRoIs = RoIs, tracks = IDTrigConfig.PT.tracksPT(), step = "Id") + elif "TrackInView" in name: + tauPrecisionAlg = _algoTauPrecision(inputRoIs = RoIs, tracks = IDTrigConfig.PT.tracksPT(), step = "Track") + elif "TrackTwo" in name: + tauPrecisionAlg = _algoTauPrecision(inputRoIs = RoIs, tracks = IDTrigConfig.PT.tracksPT(), step = "TrackTwo") + elif "MVA" in name: + tauPrecisionAlg = _algoTauPrecisionMVA(inputRoIs = RoIs, tracks = IDTrigConfig.PT.tracksPT(), step = "PrecisionMVA") + elif "EF" in name: + tauPrecisionAlg = _algoTauPrecisionMVA(inputRoIs = RoIs, tracks = IDTrigConfig.PT.tracksPT(), step = "EF") - #TODO: are both FTF necessary for taus?? - from TrigInDetConfig.InDetSetup import makeInDetAlgs - viewAlgs, viewVerify = makeInDetAlgs(config = IDTrigConfig, rois = RoIs) + tauIdSequence += tauPrecisionAlg + sequenceOut = tauPrecisionAlg.Key_trigTauJetOutputContainer + return tauIdSequence, sequenceOut + + +def precTrackSequence( RoIs , name): + + precTrackSequence = seqAND(name) + + signatureName, signatureNameID = _getTauSignatureShort( name ) + from TrigInDetConfig.ConfigSettings import getInDetTrigConfig + IDTrigConfig = getInDetTrigConfig( signatureNameID ) + + + ViewVerifyTrk = CfgMgr.AthViews__ViewDataVerifier("tauViewDataVerifier_"+signatureName) + ViewVerifyTrk.DataObjects = [( 'xAOD::TrackParticleContainer' , 'StoreGateSvc+'+IDTrigConfig.FT.tracksFTF() ), + ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.AveIntPerXDecor' ), + ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+'+RoIs ), + ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+TAUCaloRoIs' ), + ( 'xAOD::TauTrackContainer' , 'StoreGateSvc+HLT_tautrack_dummy' ), + ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly' ), + ( 'IDCInDetBSErrContainer' , 'StoreGateSvc+SCT_FlaggedCondData_TRIG' ), + ( 'xAOD::IParticleContainer' , 'StoreGateSvc+'+IDTrigConfig.FT.tracksFTF() ), + ( 'IDCInDetBSErrContainer' , 'StoreGateSvc+PixelByteStreamErrs' ), + ( 'IDCInDetBSErrContainer' , 'StoreGateSvc+SCT_ByteStreamErrs' )] + + if "TrackInView" not in name: + ViewVerifyTrk.DataObjects += [ ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+RoiForTauCore' ) ] - from TrigInDetConfig.InDetSetup import makeInDetAlgs - #FIXME: are both FTF necessary for taus?? - #viewAlgs, viewVerify = makeInDetAlgs( config = IDTrigConfig, rois = RoIs) - viewAlgs, viewVerify = makeInDetAlgs( config = IDTrigConfig, rois = RoIs, viewVerifier = 'tauViewDataVerifierName') - - viewVerify.DataObjects += [( 'xAOD::TauTrackContainer' , 'StoreGateSvc+HLT_tautrack_dummy' ), - ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+' + RoIs ), - ( 'xAOD::EventInfo' , 'StoreGateSvc+EventInfo' ), - ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.AveIntPerXDecor' ), - ( 'SG::AuxElement' , 'StoreGateSvc+EventInfo.ActIntPerXDecor' ), - ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+TAUCaloRoIs' ), - ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly')] # Make sure the required objects are still available at whole-event level from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() if globalflags.InputFormat.is_bytestream(): - viewVerify.DataObjects += [( 'IDCInDetBSErrContainer' , 'StoreGateSvc+PixelByteStreamErrs' ), + ViewVerifyTrk.DataObjects += [( 'IDCInDetBSErrContainer' , 'StoreGateSvc+PixelByteStreamErrs' ), ( 'IDCInDetBSErrContainer' , 'StoreGateSvc+SCT_ByteStreamErrs' ) ] else: topSequence.SGInputLoader.Load += [( 'TRT_RDO_Container' , 'StoreGateSvc+TRT_RDOs' )] - viewVerify.DataObjects += [( 'TRT_RDO_Container' , 'StoreGateSvc+TRT_RDOs' )] + ViewVerifyTrk.DataObjects += [( 'TRT_RDO_Container' , 'StoreGateSvc+TRT_RDOs' )] - for viewAlg in viewAlgs: - tauIdTrackSequence += viewAlg - - - if "FTFTrackInView" in name: - tauPreselectionAlg = _algoTauPreselection(inputRoIs = RoIs, tracks = IDTrigConfig.FT.tracksFTF(), step = "Track") - tauIdTrackSequence += tauPreselectionAlg - elif "TrackTwo" in name: - tauPreselectionAlg = _algoTauPreselection(inputRoIs = RoIs, tracks = IDTrigConfig.FT.tracksFTF(), step = "TrackTwo") - tauIdTrackSequence += tauPreselectionAlg + precTrackSequence+= ViewVerifyTrk #Precision Tracking PTAlgs = [] #List of precision tracking algs @@ -255,36 +332,23 @@ def tauIdTrackSequence( RoIs , name): from TrigInDetConfig.InDetPT import makeInDetPrecisionTracking #When run in a different view than FTF some data dependencies needs to be loaded through verifier #Pass verifier as an argument and it will automatically append necessary DataObjects@NOTE: Don't provide any verifier if loaded in the same view as FTF - PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( config = IDTrigConfig, verifier = False, rois = RoIs ) + PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( config = IDTrigConfig, verifier = ViewVerifyTrk, rois = RoIs ) PTSeq = parOR("precisionTrackingIn"+signatureName, PTAlgs ) #Get last tracks from the list as input for other alg - tauIdTrackSequence += PTSeq - trackParticles = PTTrackParticles[-1] - - if "FTFId" in name: - tauPrecisionAlg = _algoTauPrecision(inputRoIs = RoIs, tracks = trackParticles, step = "Id") - elif "FTFTrackInView" in name: - tauPrecisionAlg = _algoTauPrecision(inputRoIs = RoIs, tracks = trackParticles, step = "Track") - elif "FTFTrackTwo" in name: - tauPrecisionAlg = _algoTauPrecision(inputRoIs = RoIs, tracks = trackParticles, step = "TrackTwo") - elif "FTFIso" in name: - tauPrecisionAlg = _algoTauPrecisionMVA(inputRoIs = RoIs, tracks = trackParticles, step = "PrecisionMVA") - elif "EF" in name: - tauPrecisionAlg = _algoTauPrecisionMVA(inputRoIs = RoIs, tracks = trackParticles, step = "EF") + precTrackSequence += PTSeq - tauIdTrackSequence += tauPrecisionAlg - sequenceOut = tauPrecisionAlg.Key_trigTauJetOutputContainer + sequenceOut = PTTrackParticles[-1] - return tauIdTrackSequence, sequenceOut + return precTrackSequence, sequenceOut -def tauCoreTrackSequence( RoIs, name ): - - tauCoreTrackSequence = seqAND(name) +def tauFTFSequence( RoIs, name ): + tauFTFSequence = seqAND(name) + signatureName, signatureNameID = _getTauSignatureShort( name ) from TrigInDetConfig.ConfigSettings import getInDetTrigConfig - IDTrigConfig = getInDetTrigConfig( 'tauCore' ) + IDTrigConfig = getInDetTrigConfig( signatureNameID ) from TrigInDetConfig.InDetSetup import makeInDetAlgs viewAlgs, viewVerify = makeInDetAlgs( config = IDTrigConfig, rois = RoIs ) @@ -298,70 +362,56 @@ def tauCoreTrackSequence( RoIs, name ): ( 'IDCInDetBSErrContainer' , 'StoreGateSvc+SCT_ByteStreamErrs' ),#For some reason not picked up properly ( 'xAOD::TauJetContainer' , 'StoreGateSvc+HLT_TrigTauRecMerged_CaloOnly')] - tauTrackRoiUpdaterAlg = _algoTauTrackRoiUpdater(inputRoIs = RoIs, tracks = TrackCollection) - - viewAlgs.append(tauTrackRoiUpdaterAlg) + if 'Core' in signatureName: + tauTrackRoiUpdaterAlg = _algoTauTrackRoiUpdater(inputRoIs = RoIs, tracks = TrackCollection) + viewAlgs.append(tauTrackRoiUpdaterAlg) - tauCoreTrackSequence += viewAlgs + tauFTFSequence += viewAlgs sequenceOut = TrackCollection - return tauCoreTrackSequence, sequenceOut + return tauFTFSequence, sequenceOut -def tauFTFTrackSequence(ConfigFlags): - RecoSequenceName = "tauFTFTrackInViewSequence" +# =============================================================================================== +# Reco sequence for FTFTau (ptOnly, track) +# =============================================================================================== - newRoITool = ViewCreatorFetchFromViewROITool() - newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_Tau_Track") #RoI collection recorded to EDM - newRoITool.InViewRoIs = "UpdatedCaloRoI" #input RoIs from calo only step +def tauFTFTauSequence(ConfigFlags): - ftfTrackViewsMaker = EventViewCreatorAlgorithm("IMFTFTrack") - ftfTrackViewsMaker.RoIsLink = "roi" - ftfTrackViewsMaker.RoITool = newRoITool - ftfTrackViewsMaker.InViewRoIs = "RoiForTau" - ftfTrackViewsMaker.Views = "TAUFTFTrackViews" - ftfTrackViewsMaker.ViewFallThrough = True - ftfTrackViewsMaker.RequireParentView = True - ftfTrackViewsMaker.ViewNodeName = RecoSequenceName + RecoSequenceName = "tauFTFTrackInViewSequence" - (tauFTFTrackInViewSequence, sequenceOut) = tauIdTrackSequence( ftfTrackViewsMaker.InViewRoIs, RecoSequenceName) - - tauFastTrackSequence = seqAND("tauFastTrackSequence", [ftfTrackViewsMaker, tauFTFTrackInViewSequence ]) - return (tauFastTrackSequence, ftfTrackViewsMaker, sequenceOut) - -def tauFTFIdSequence(ConfigFlags): - - RecoSequenceName = "tauFTFIdInViewSequence" + newRoITool = ViewCreatorFetchFromViewROITool() + newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_Tau") #RoI collection recorded to EDM + newRoITool.InViewRoIs = "UpdatedCaloRoI" #input RoIs from calo only step - newRoITool = ViewCreatorFetchFromViewROITool() - newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_Tau") #RoI collection recorded to EDM - newRoITool.InViewRoIs = "UpdatedCaloRoI" #input RoIs from calo only step + ftfTauViewsMaker = EventViewCreatorAlgorithm("IMFTFTau") + ftfTauViewsMaker.mergeUsingFeature = True + ftfTauViewsMaker.RoITool = newRoITool + ftfTauViewsMaker.InViewRoIs = "RoiForTau" + ftfTauViewsMaker.Views = "TAUFTFTauViews" + ftfTauViewsMaker.ViewFallThrough = True + ftfTauViewsMaker.RequireParentView = True + ftfTauViewsMaker.ViewNodeName = RecoSequenceName - ftfIdViewsMaker = EventViewCreatorAlgorithm("IMFTFId") - ftfIdViewsMaker.RoIsLink = "roi" - ftfIdViewsMaker.RoITool = newRoITool - ftfIdViewsMaker.InViewRoIs = "RoiForTau" - ftfIdViewsMaker.Views = "TAUFTFIdViews" - ftfIdViewsMaker.ViewFallThrough = True - ftfIdViewsMaker.RequireParentView = True - ftfIdViewsMaker.ViewNodeName = RecoSequenceName + (tauFTFTauInViewSequence, sequenceOut) = tauFTFSequence( ftfTauViewsMaker.InViewRoIs, RecoSequenceName) - (tauFTFIdInViewSequence, sequenceOut) = tauIdTrackSequence( ftfIdViewsMaker.InViewRoIs, RecoSequenceName) + tauFastTrackTauSequence = seqAND("tauFastTrackTauSequence", [ftfTauViewsMaker, tauFTFTauInViewSequence ]) + return (tauFastTrackTauSequence, ftfTauViewsMaker, sequenceOut) - tauFastTrackIdSequence = seqAND("tauFastTrackIdSequence", [ftfIdViewsMaker, tauFTFIdInViewSequence ]) - return (tauFastTrackIdSequence, ftfIdViewsMaker, sequenceOut) +# =============================================================================================== +# Reco sequence for FTFTauCore + TrackRoIUpdater Alg (tracktwo, tracktwoEF, tracktwoMVA) +# =============================================================================================== def tauFTFCoreSequence(ConfigFlags): - RecoSequenceName = "tauFTFCoreInViewSequence" + RecoSequenceName = "tauFTFCoreInViewSequence" newRoITool = ViewCreatorFetchFromViewROITool() newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_TauCore") #RoI collection recorded to EDM newRoITool.InViewRoIs = "UpdatedCaloRoI" #input RoIs from calo only step ftfCoreViewsMaker = EventViewCreatorAlgorithm("IMFTFCore") - #ftfCoreViewsMaker.RoIsLink = "roi" ftfCoreViewsMaker.mergeUsingFeature = True ftfCoreViewsMaker.RoITool = newRoITool ftfCoreViewsMaker.InViewRoIs = "RoiForTauCore" @@ -370,75 +420,235 @@ def tauFTFCoreSequence(ConfigFlags): ftfCoreViewsMaker.RequireParentView = True ftfCoreViewsMaker.ViewNodeName = RecoSequenceName - (tauFTFCoreInViewSequence, sequenceOut) = tauCoreTrackSequence( ftfCoreViewsMaker.InViewRoIs, RecoSequenceName) + (tauFTFCoreInViewSequence, sequenceOut) = tauFTFSequence( ftfCoreViewsMaker.InViewRoIs, RecoSequenceName) tauFastTrackCoreSequence = seqAND("tauFastTrackCoreSequence", [ftfCoreViewsMaker, tauFTFCoreInViewSequence ]) return (tauFastTrackCoreSequence, ftfCoreViewsMaker, sequenceOut) +# =============================================================================================== +# Reco sequence for FTFTauIso (tracktwo, tracktwoEF, tracktwoMVA) +# =============================================================================================== + def tauFTFIsoSequence(ConfigFlags): - RecoSequenceName = "tauFTFIsoInViewSequence" + RecoSequenceName = "tauFTFIsoInViewSequence" newRoITool = ViewCreatorFetchFromViewROITool() - newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_TauIso_TauID") #RoI collection recorded to EDM + newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_TauIso") #RoI collection recorded to EDM newRoITool.InViewRoIs = "UpdatedTrackRoI" #input RoIs from calo only step ftfIsoViewsMaker = EventViewCreatorAlgorithm("IMFTFIso") ftfIsoViewsMaker.RoIsLink = "roi" ftfIsoViewsMaker.RoITool = newRoITool - ftfIsoViewsMaker.InViewRoIs = "RoiForTauCore" + ftfIsoViewsMaker.InViewRoIs = "RoiForTauIso" ftfIsoViewsMaker.Views = "TAUFTFIsoViews" ftfIsoViewsMaker.ViewFallThrough = True ftfIsoViewsMaker.RequireParentView = True ftfIsoViewsMaker.ViewNodeName = RecoSequenceName - (tauFTFIsoInViewSequence, sequenceOut) = tauIdTrackSequence( ftfIsoViewsMaker.InViewRoIs, RecoSequenceName) + (tauFTFIsoInViewSequence, sequenceOut) = tauFTFSequence( ftfIsoViewsMaker.InViewRoIs, RecoSequenceName) tauFastTrackIsoSequence = seqAND("tauFastTrackIsoSequence", [ftfIsoViewsMaker, tauFTFIsoInViewSequence ]) return (tauFastTrackIsoSequence, ftfIsoViewsMaker, sequenceOut) + +# =============================================================================================== +# Reco sequence for PreSelection algorithm (track) +# =============================================================================================== + +def tauPreSelSequence(ConfigFlags): + + RecoSequenceName = "preSelTrackInViewSequence" + + tauPreSelViewsMaker = EventViewCreatorAlgorithm("IMPreSel") + tauPreSelViewsMaker.RoIsLink = "roi" + tauPreSelViewsMaker.RoITool = ViewCreatorPreviousROITool() + tauPreSelViewsMaker.InViewRoIs = "RoiForTau" + tauPreSelViewsMaker.Views = "TAUPreSelViews" + tauPreSelViewsMaker.ViewFallThrough = True + tauPreSelViewsMaker.RequireParentView = True + tauPreSelViewsMaker.ViewNodeName = RecoSequenceName + + (tauPreSelTrackInViewSequence, sequenceOut) = preSelSequence( tauPreSelViewsMaker.InViewRoIs, RecoSequenceName) + + tauPreSelTrkSequence = seqAND("tauPreSelTrkSequence", [tauPreSelViewsMaker, tauPreSelTrackInViewSequence ]) + return (tauPreSelTrkSequence, tauPreSelViewsMaker, sequenceOut) + + +# =============================================================================================== +# Reco sequence for PreSelection algorithm (tracktwo) +# =============================================================================================== + +def tauPreSelTTSequence(ConfigFlags): + + RecoSequenceName = "preSelTrackTwoInViewSequence" + + tauPreSelViewsMaker = EventViewCreatorAlgorithm("IMPreSel2") + tauPreSelViewsMaker.RoIsLink = "roi" + tauPreSelViewsMaker.RoITool = ViewCreatorPreviousROITool() + tauPreSelViewsMaker.InViewRoIs = "RoiForTauIso" + tauPreSelViewsMaker.Views = "TAUPreSelTTViews" + tauPreSelViewsMaker.ViewFallThrough = True + tauPreSelViewsMaker.RequireParentView = True + tauPreSelViewsMaker.ViewNodeName = RecoSequenceName + + (tauPreSelTrackInViewSequence, sequenceOut) = preSelSequence( tauPreSelViewsMaker.InViewRoIs, RecoSequenceName) + + tauPreSelTTTrkSequence = seqAND("tauPreSelTTTrkSequence", [tauPreSelViewsMaker, tauPreSelTrackInViewSequence ]) + return (tauPreSelTTTrkSequence, tauPreSelViewsMaker, sequenceOut) + + +# =============================================================================================== +# Reco sequence for Precision tracking (from FTF or PreSelection algorithm) (pTonly, track) +# =============================================================================================== + +def tauPrecTrackSequence(ConfigFlags): + + RecoSequenceName = "precFTFTauPrecInViewSequence" + + tauPrecViewsMaker = EventViewCreatorAlgorithm("IMPrecTrack") + tauPrecViewsMaker.RoIsLink = "roi" + tauPrecViewsMaker.RoITool = ViewCreatorPreviousROITool() + tauPrecViewsMaker.InViewRoIs = "RoiForTau" + tauPrecViewsMaker.Views = "TAUPrecViews" + tauPrecViewsMaker.ViewFallThrough = True + tauPrecViewsMaker.RequireParentView = True + tauPrecViewsMaker.ViewNodeName = RecoSequenceName + + (tauPrecTrackInViewSequence, sequenceOut) = precTrackSequence( tauPrecViewsMaker.InViewRoIs, RecoSequenceName) + + tauPrecTrkSequence = seqAND("tauPrecTrkSequence", [tauPrecViewsMaker, tauPrecTrackInViewSequence ]) + return (tauPrecTrkSequence, tauPrecViewsMaker, sequenceOut) + +# =============================================================================================== +# Reco sequence for Precision tracking (from FTF Iso or PreSelection algorithm) (tracktwo, tracktwoEF, tracktwoMVA) +# =============================================================================================== + +def tauPrecIsoTrackSequence(ConfigFlags): + + RecoSequenceName = "precFTFIsoInViewSequence" + + tauPrecIsoViewsMaker = EventViewCreatorAlgorithm("IMPrecIsoTrack") + tauPrecIsoViewsMaker.RoIsLink = "roi" + tauPrecIsoViewsMaker.RoITool = ViewCreatorPreviousROITool() + tauPrecIsoViewsMaker.InViewRoIs = "RoiForTauIso" + tauPrecIsoViewsMaker.Views = "TAUPrecIsoViews" + tauPrecIsoViewsMaker.ViewFallThrough = True + tauPrecIsoViewsMaker.RequireParentView = True + tauPrecIsoViewsMaker.ViewNodeName = RecoSequenceName + + (tauPrecIsoTrackInViewSequence, sequenceOut) = precTrackSequence( tauPrecIsoViewsMaker.InViewRoIs, RecoSequenceName) + + tauPrecIsoTrkSequence = seqAND("tauPrecIsoTrkSequence", [tauPrecIsoViewsMaker, tauPrecIsoTrackInViewSequence ]) + return (tauPrecIsoTrkSequence, tauPrecIsoViewsMaker, sequenceOut) + + +# =============================================================================================== +# Reco sequence for Tau Precision Alg (pTonly) +# =============================================================================================== + +def tauIDSequence(ConfigFlags): + + RecoSequenceName = "tauIdInViewSequence" + + ftfIdViewsMaker = EventViewCreatorAlgorithm("IMFTFId") + ftfIdViewsMaker.RoIsLink = "roi" + ftfIdViewsMaker.RoITool = ViewCreatorPreviousROITool() + ftfIdViewsMaker.InViewRoIs = "RoiForTau" + ftfIdViewsMaker.Views = "TAUFTFIdViews" + ftfIdViewsMaker.ViewFallThrough = True + ftfIdViewsMaker.RequireParentView = True + ftfIdViewsMaker.ViewNodeName = RecoSequenceName + + (tauFTFIdInViewSequence, sequenceOut) = tauIdSequence( ftfIdViewsMaker.InViewRoIs, RecoSequenceName) + + tauFastTrackIdSequence = seqAND("tauFastTrackIdSequence", [ftfIdViewsMaker, tauFTFIdInViewSequence ]) + return (tauFastTrackIdSequence, ftfIdViewsMaker, sequenceOut) + +# =============================================================================================== +# Reco sequence for Tau Precision Alg (track) +# =============================================================================================== + +def tauTrackSequence(ConfigFlags): + + RecoSequenceName = "tauTrackInViewSequence" + + ftfTrackViewsMaker = EventViewCreatorAlgorithm("IMFTFTrack") + ftfTrackViewsMaker.RoIsLink = "roi" + ftfTrackViewsMaker.RoITool = ViewCreatorPreviousROITool() + ftfTrackViewsMaker.InViewRoIs = "RoiForTau" + ftfTrackViewsMaker.Views = "TAUFTFTrackViews" + ftfTrackViewsMaker.ViewFallThrough = True + ftfTrackViewsMaker.RequireParentView = True + ftfTrackViewsMaker.ViewNodeName = RecoSequenceName + + (tauTrackInViewSequence, sequenceOut) = tauIdSequence( ftfTrackViewsMaker.InViewRoIs, RecoSequenceName) + + tauFastTrackSequence = seqAND("tauFastTrackSequence", [ftfTrackViewsMaker, tauTrackInViewSequence ]) + return (tauFastTrackSequence, ftfTrackViewsMaker, sequenceOut) + +# =============================================================================================== +# Reco sequence for Tau Precision Alg (tracktwo) +# =============================================================================================== + +def tauTrackTwoSequence(ConfigFlags): + + RecoSequenceName = "tauTrackTwoInViewSequence" + + ftfTrackTwoViewsMaker = EventViewCreatorAlgorithm("IMTrackTwo") + ftfTrackTwoViewsMaker.RoIsLink = "roi" + ftfTrackTwoViewsMaker.RoITool = ViewCreatorPreviousROITool() + ftfTrackTwoViewsMaker.InViewRoIs = "RoiForTauCore" + ftfTrackTwoViewsMaker.Views = "TAUTrackTwoViews" + ftfTrackTwoViewsMaker.ViewFallThrough = True + ftfTrackTwoViewsMaker.RequireParentView = True + ftfTrackTwoViewsMaker.ViewNodeName = RecoSequenceName + + (tauTrackTwoInViewSequence, sequenceOut) = tauIdSequence( ftfTrackTwoViewsMaker.InViewRoIs, RecoSequenceName) + + tauFastTrackTwoSequence = seqAND("tauFastTrackTwoSequence", [ftfTrackTwoViewsMaker, tauTrackTwoInViewSequence ]) + return (tauFastTrackTwoSequence, ftfTrackTwoViewsMaker, sequenceOut) + +# =============================================================================================== +# Reco sequence for Tau Precision Alg (tracktwoEF) +# =============================================================================================== + def tauEFSequence(ConfigFlags): RecoSequenceName = "tauEFInViewSequence" - newRoITool = ViewCreatorFetchFromViewROITool() - newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_TauID") #RoI collection recorded to EDM - newRoITool.InViewRoIs = "UpdatedTrackRoI" #input RoIs from calo only step - efViewsMaker = EventViewCreatorAlgorithm("IMTauEF") efViewsMaker.RoIsLink = "roi" - efViewsMaker.RoITool = newRoITool - efViewsMaker.InViewRoIs = "RoiForTauCore" + efViewsMaker.RoITool = ViewCreatorPreviousROITool() + efViewsMaker.InViewRoIs = "RoiForTauIso" efViewsMaker.Views = "TAUEFViews" efViewsMaker.ViewFallThrough = True efViewsMaker.RequireParentView = True efViewsMaker.ViewNodeName = RecoSequenceName - (tauEFInViewSequence, sequenceOut) = tauIdTrackSequence( efViewsMaker.InViewRoIs, RecoSequenceName) + (tauEFInViewSequence, sequenceOut) = tauIdSequence( efViewsMaker.InViewRoIs, RecoSequenceName) tauEFSequence = seqAND("tauEFSequence", [efViewsMaker, tauEFInViewSequence ]) return (tauEFSequence, efViewsMaker, sequenceOut) +# =============================================================================================== +# Reco sequence for Tau Precision MVA Alg (tracktwoMVA) +# =============================================================================================== -def tauFTFTrackTwoSequence(ConfigFlags): +def tauMVASequence(ConfigFlags): - RecoSequenceName = "tauFTFTrackTwoInViewSequence" + RecoSequenceName = "tauMVAInViewSequence" - newRoITool = ViewCreatorFetchFromViewROITool() - newRoITool.RoisWriteHandleKey = recordable("HLT_Roi_Tau_TrackTwo") #RoI collection recorded to EDM - newRoITool.InViewRoIs = "UpdatedTrackRoI" #input RoIs from calo only step + mvaViewsMaker = EventViewCreatorAlgorithm("IMTauMVA") + mvaViewsMaker.RoIsLink = "roi" + mvaViewsMaker.RoITool = ViewCreatorPreviousROITool() + mvaViewsMaker.InViewRoIs = "RoiForTauIso" + mvaViewsMaker.Views = "TAUMVAViews" + mvaViewsMaker.ViewFallThrough = True + mvaViewsMaker.RequireParentView = True + mvaViewsMaker.ViewNodeName = RecoSequenceName - ftfTrackTwoViewsMaker = EventViewCreatorAlgorithm("IMFTFTrackTwo") - ftfTrackTwoViewsMaker.RoIsLink = "roi" - ftfTrackTwoViewsMaker.RoITool = newRoITool - ftfTrackTwoViewsMaker.InViewRoIs = "RoiForTauCore" - ftfTrackTwoViewsMaker.Views = "TAUFTFTrackTwoViews" - ftfTrackTwoViewsMaker.ViewFallThrough = True - ftfTrackTwoViewsMaker.RequireParentView = True - ftfTrackTwoViewsMaker.ViewNodeName = RecoSequenceName - - (tauFTFTrackTwoInViewSequence, sequenceOut) = tauIdTrackSequence( ftfTrackTwoViewsMaker.InViewRoIs, RecoSequenceName) - - tauFastTrackTwoSequence = seqAND("tauFastTrackTwoSequence", [ftfTrackTwoViewsMaker, tauFTFTrackTwoInViewSequence ]) - return (tauFastTrackTwoSequence, ftfTrackTwoViewsMaker, sequenceOut) + (tauMVAInViewSequence, sequenceOut) = tauIdSequence( mvaViewsMaker.InViewRoIs, RecoSequenceName) + tauSequence = seqAND("tauSequence", [mvaViewsMaker, tauMVAInViewSequence ]) + return (tauSequence, mvaViewsMaker, sequenceOut)