diff --git a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/python/TrigIsoHPtTrackTriggerHypoTool.py b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/python/TrigIsoHPtTrackTriggerHypoTool.py index fd8a04f6022091c4160df1ae300f34b5ec87f4e7..86dd93d0d420cd1ff6f5944944d346c43c1575c8 100644 --- a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/python/TrigIsoHPtTrackTriggerHypoTool.py +++ b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/python/TrigIsoHPtTrackTriggerHypoTool.py @@ -63,8 +63,14 @@ def TrigIsoHPtTrackTriggerHypoToolFromDict( chainDict ): IsoCum.append(False) IsoCone.append(0.3) IsoPt.append(5*GeV) - elif cpart['isoInfo'] =="icummedium": - log.info("Medium isolation is set") + elif cpart['isoInfo'] =="iaggrloose": + log.info("Loose Cummulative(Aggregate) isolation is set") + EnIso.append(True) + IsoCum.append(True) + IsoCone.append(0.3) + IsoPt.append(10*GeV) + elif cpart['isoInfo'] =="iaggrmedium": + log.info("Medium Cummulative(Aggregate) isolation is set") EnIso.append(True) IsoCum.append(True) IsoCone.append(0.3) diff --git a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoAlgMT.cxx b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoAlgMT.cxx index d7c098a257c38bef6e22b3fdc4733301dcfa7846..e567036e898f9178f6875a7167a4d221176ac80c 100644 --- a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoAlgMT.cxx +++ b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoAlgMT.cxx @@ -7,10 +7,7 @@ #include "TrigIsoHPtTrackTriggerHypoAlgMT.h" #include "AthViews/ViewHelper.h" #include "TrigCompositeUtils/TrigCompositeUtils.h" - - - - +#include "GaudiKernel/SystemOfUnits.h" using TrigCompositeUtils::createAndStore; using TrigCompositeUtils::DecisionContainer; @@ -67,6 +64,9 @@ StatusCode TrigIsoHPtTrackTriggerHypoAlgMT::execute( const EventContext& context // Loop over all tracks and get a track decision associated with it and create the input for ( const xAOD::TrackParticle_v1* track : *AllTracks) { + //Although it's unconventional to have a track pT decision in the Algorithm part, this line should save a lot of CPU time. We require at least 50 GeV track pT to have decision on that track. + if (track->pt()< 50*Gaudi::Units::GeV ) continue; + auto d = newDecisionIn( decisions , previousDecision, "", context); d->setObjectLink( featureString(), ElementLink<xAOD::TrackParticleContainer>( *AllTracks, track->index() ) ); diff --git a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoTool.cxx b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoTool.cxx index 4fd4b29bab34dd15180533c669490786316aa971..00df482f17a74d3cea6fc4fbb27e4539534ce855 100644 --- a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoTool.cxx +++ b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoTool.cxx @@ -10,6 +10,7 @@ #include "TrigCompositeUtils/Combinators.h" #include "AthenaMonitoringKernel/Monitored.h" #include "TrigIsoHPtTrackTriggerHypoTool.h" +#include "GaudiKernel/PhysicalConstants.h" #include <math.h> using namespace TrigCompositeUtils; @@ -124,7 +125,7 @@ bool TrigIsoHPtTrackTriggerHypoTool::decideOnSingleObject( const xAOD::TrackPart float dEta = (*trackIter)->eta() - (track)->eta(); float dPhi = fabs((*trackIter)->phi() - (track)->phi()); - dPhi = dPhi > CLHEP::pi ? dPhi-2*CLHEP::pi : dPhi; + dPhi = dPhi > Gaudi::Units::pi ? dPhi-2*Gaudi::Units::pi : dPhi; if( sqrt( dEta*dEta+dPhi*dPhi )>m_IsoDR[cutIndex] ) continue; diff --git a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoTool.h b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoTool.h index ba2fad0151245686ad33f31460e71e5c78a7d8df..3fde568539e8eeebfa10137bb666d0787afc26a5 100644 --- a/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoTool.h +++ b/Trigger/TrigHypothesis/TrigLongLivedParticlesHypo/src/TrigIsoHPtTrackTriggerHypoTool.h @@ -10,7 +10,6 @@ #include "TrigCompositeUtils/TrigCompositeUtils.h" #include "xAODTracking/TrackParticlexAODHelpers.h" #include "xAODTracking/TrackParticleContainer.h" -#include "CLHEP/Units/SystemOfUnits.h" #include <string> @@ -71,13 +70,13 @@ class TrigIsoHPtTrackTriggerHypoTool : virtual public ::AthAlgTool private: HLT::Identifier m_decisionId; /* Gaudi::Property<bool> m_acceptAll{ this, "AcceptAll", false, "Ignore selection" }; */ - Gaudi::Property< std::vector<float> > m_TrackPt{ this, "MinTrackPt", { float( 50.0*CLHEP::GeV ) }, "Track pT requirement" }; + Gaudi::Property< std::vector<float> > m_TrackPt{ this, "MinTrackPt", { float( 50.0*Gaudi::Units::GeV ) }, "Track pT requirement" }; Gaudi::Property< std::vector<float> > m_Trackd0{ this, "MaxTrackd0", {5.}, "Maximum Track d0 allowed" }; //loose cut Gaudi::Property< std::vector<unsigned> > m_TrackNPixHits{ this, "MinTrackNPixHits", {2}, "Minimum number of pixel hits required from the trigger" }; //loose cut Gaudi::Property< std::vector<bool> > m_doIso { this, "EnableTrackIsolation", {false}, "If track based isolation should be applied or not? "}; Gaudi::Property< std::vector<bool> > m_IsoCum { this, "EnableCumalitiveIsolation", {false}, "Instead of checking if one track is above a certain pT threshold, add up all tracks for isolation"}; Gaudi::Property< std::vector<float> > m_IsoDR{ this, "TrackIsoCone", {0.3}, "Isolation requirment over the main track" }; - Gaudi::Property< std::vector<float> > m_IsoPt{ this, "MinIsoTrackPt", {float( 5.0*CLHEP::GeV )}, "Min pT requirment of other tracks to be considered for isolation" }; + Gaudi::Property< std::vector<float> > m_IsoPt{ this, "MinIsoTrackPt", {float( 5.0*Gaudi::Units::GeV )}, "Min pT requirment of other tracks to be considered for isolation" }; size_t m_multiplicity = 1; diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index 4d1e9babe2f94fa17ae3bf9922cba5b3ed68e8d8..fcb4ac7af0706f8c98c289cedbef75123357eeaa 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -2582,7 +2582,7 @@ HLT_tilecalib_laser_TilePEB_L1CALREQ2: eventCount: 0 HLT_timeburner_L1All: eventCount: 0 -HLT_unconvtrk120_isohpttrack_icummedium_L1XE50: +HLT_unconvtrk120_isohpttrack_iaggrmedium_L1XE50: eventCount: 0 HLT_unconvtrk120_isohpttrack_imedium_L1XE50: eventCount: 0 @@ -2756,7 +2756,9 @@ HLT_xe65_cell_xe110_tcpufit_L1XE50: 0: 5 stepFeatures: 0: 5 -HLT_xe80_tcpufit_unconvtrk120_isohpttrack_icummedium_L1XE50: +HLT_xe80_tcpufit_unconvtrk120_isohpttrack_iaggrloose_L1XE50: + eventCount: 0 +HLT_xe80_tcpufit_unconvtrk120_isohpttrack_iaggrmedium_L1XE50: eventCount: 0 HLT_xe80_tcpufit_unconvtrk120_isohpttrack_imedium_L1XE50: eventCount: 0 diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref index 4ac2bde132fc0350a2affc8b68849c4985eaafbd..4475fa1d114d31b49855f8e3dfd2f8d7b9ebcb10 100644 --- a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref +++ b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref @@ -1608,7 +1608,7 @@ HLT_tilecalib_laser_TilePEB_L1CALREQ2: 0: 20 HLT_timeburner_L1All: eventCount: 0 -HLT_unconvtrk120_isohpttrack_icummedium_L1XE50: +HLT_unconvtrk120_isohpttrack_iaggrmedium_L1XE50: eventCount: 0 HLT_unconvtrk120_isohpttrack_imedium_L1XE50: eventCount: 1 @@ -1748,7 +1748,9 @@ HLT_xe65_cell_L1XE50: eventCount: 0 HLT_xe65_cell_xe110_tcpufit_L1XE50: eventCount: 0 -HLT_xe80_tcpufit_unconvtrk120_isohpttrack_icummedium_L1XE50: +HLT_xe80_tcpufit_unconvtrk120_isohpttrack_iaggrloose_L1XE50: + eventCount: 0 +HLT_xe80_tcpufit_unconvtrk120_isohpttrack_iaggrmedium_L1XE50: eventCount: 0 HLT_xe80_tcpufit_unconvtrk120_isohpttrack_imedium_L1XE50: eventCount: 0 diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py index b6850fe03fd615de64c8aa9a452df2dda4e93271..5d800a8a7c063c4048ab119a1a0fa839b3662f4e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py @@ -446,9 +446,10 @@ def setupMenu(): TriggerFlags.UnconventionalTrackingSlice.signatures = TriggerFlags.UnconventionalTrackingSlice.signatures() + [ ChainProp(name='HLT_unconvtrk120_isohpttrack_imedium_L1XE50', groups=SingleMETGroup, l1SeedThresholds=['XE50']), - ChainProp(name='HLT_unconvtrk120_isohpttrack_icummedium_L1XE50', groups=SingleMETGroup, l1SeedThresholds=['XE50']), + ChainProp(name='HLT_unconvtrk120_isohpttrack_iaggrmedium_L1XE50', groups=SingleMETGroup, l1SeedThresholds=['XE50']), ChainProp(name='HLT_xe80_tcpufit_unconvtrk120_isohpttrack_imedium_L1XE50', groups=SingleMETGroup, l1SeedThresholds=['XE50','FSNOSEED']), ChainProp(name='HLT_xe80_tcpufit_unconvtrk80_isohpttrack_imedium_L1XE50', groups=SingleMETGroup, l1SeedThresholds=['XE50','FSNOSEED']), - ChainProp(name='HLT_xe80_tcpufit_unconvtrk120_isohpttrack_icummedium_L1XE50', groups=SingleMETGroup, l1SeedThresholds=['XE50','FSNOSEED']), + ChainProp(name='HLT_xe80_tcpufit_unconvtrk120_isohpttrack_iaggrmedium_L1XE50', groups=SingleMETGroup, l1SeedThresholds=['XE50','FSNOSEED']), + ChainProp(name='HLT_xe80_tcpufit_unconvtrk120_isohpttrack_iaggrloose_L1XE50', groups=SingleMETGroup, l1SeedThresholds=['XE50','FSNOSEED']), ] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py index 88ceb5ba81aa64194ed60568ca1475e69122efd8..62a9bebfc90157c938cf5bc590037f173afd32fd 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py @@ -842,7 +842,7 @@ UnconventionalTrackingChainParts = { 'multiplicity' : '', 'trigType' : ['unconvtrk'], 'threshold' : '', - 'isoInfo' : ['icummedium','imedium','iloose'], + 'isoInfo' : ['iaggrmedium','iaggrloose','imedium','iloose'], 'extra' : ["isohpttrack"], 'addInfo' : [], 'sigFolder' : 'UnconventionalTracking',